cancel
Showing results for 
Search instead for 
Did you mean: 
Subscribe

I'm attempting to authenticate using a .Net client.

The relevant code:

ISessionMgr sessionMgr = CrystalEnterprise.GetSessionMgr();  
IEnterpriseSession enterpriseSession = sessionMgr.Logon([userName], [password], [server:6400], [authentication]);

If I use an account with secWinAD credentials, I get an error on the Logon line that reads:

System.ArgumentNullException: 'Value cannot be null.Parameter name: assembly'

If I use an account with secEnterprise credentials, however, the Logon method works.

I noticed that the secWinAD protocol isn't installed:

sessionMgr.InstalledAuthProgIds
{string[1]}
  [0]: "secEnterprise"

I've added the CrystalDecisions.Enterprise.Auth.secWinAD assembly to the project's reference.

When I use the RESTful SDK, I can access this server w/ the AD account.

What am I missing? Is there a way to programmatically add the secWinAD auth?

0 Likes
View Entire Topic
DellSC
Active Contributor

This is a challenge and there's not a lot of information available around this. One option would be to log in to the RESTful web service to get the token and then use SessionManager.LogonToken() to connect the .NET SDK to the system.

Another option that I've used is to have the application get the user ID for the current session of the application and use SessionManager.LogonTrusted() to log the user in. This is based on the assumption that if a user is logged in to the application, I know who the user is and I trust the user so I can just tell BOBJ that I trust the user.

-Dell

first_last
Participant
0 Likes

daniel.paulsen any thoughts?