You are viewing limited content. For full access, please sign in.

Question

Question

Can SDK based applications determine whether the current Windows user is a read only user in Laserfiche?

asked on February 8, 2014

An application we are writing will attempt to log in to Laserfiche using the current Windows user's credentials. All users in the repository use Windows Authentication. The intention of this action is to search Laserfiche using information contained in another application, but we are intentionally avoiding using middleware in this instance.

 

We would like the script to:
* Check if Laserfiche is installed

* If not, go ahead and run the search and attempt to log the user in through internal-facing Weblink. I am confident we can do this without needing SDK runtimes installed on the computer.

* If LF Client is installed, continue:

* Attempt to login to Laserfiche. If successful and the user is a Named User, go ahead and log in using the Windows client, and then launch a Search through the thick client.

* If the user is not a Named user, will the API tell us so? We would then launch Weblink and attempt to log them in through Weblink. Of course this assumes they are set to be a "read only" user, if they aren't a Named User.

 

Is all of this theoretically doable? I'm not the actual developer so I confess I am a bit ignorant to some of the SDK libraries' capabilities. Any advice on what to expect is appreciated.

0 0

Replies

replied on February 17, 2014

just grab the user as an ILFTrustee and check the "ReadOnlyAccess" boolean property on it.  Of course you'd have to connect to the DB first in order to check if a specific user is readonly or not.  

 

            Dim lfapp As New LFApplication
            Dim server As LFServer = lfapp.GetServerByName(ServerName)
            Dim lfdb As LFDatabase = server.GetDatabaseByName(RepositoryName)
            Dim conn As New LFConnection
          
            conn.UserName = "UserName"
            conn.Password = "Password"
            conn.Create(lfdb)

 

           dim user as ILFTrustee = lfdb.GetTrusteeByName("User1")

           dim ReadOnly as Boolean = user.ReadOnlyAccess

 

Something like that i think..

2 0
replied on February 10, 2014

I don't have an answer to your question, but I do have a thought on this:

 

Why not determine this through AD? 

 

If you set it up so that all of your named users are in a particular group in AD then it could just check for that group. This setup also has the advantage of potentially simplifying your account creation and permissions by using AD as your primary spot to add permissions for your users. (I.E. follow LF suggested best practices by having all of your LF groups map to AD groups and only adding people in on the AF groups, etc etc. )

1 0
replied on February 17, 2014

Is there a reason you are using the Client for one scenario and WebLink for the other? There's no technical restriction preventing named users from logging in to WebLink.

0 0
replied on July 11, 2016

Hi, I'm hoping there is an answer to Gareths first question;

How to (via the SDK?) "Check if Laserfiche Client is installed"?

My custom app lists related docs in Laserfiche with a button to open them in the Client. I'd like to disable that button for those without the Client installed.

Thank you,

 

 

0 0
replied on July 12, 2016 Show version history

Checking if the Laserfiche Client is installed does not require using the SDK. There are a variety of ways to accomplish this, and it really depends on what tool you are using for your custom application.

The most popular suggestions I saw: checking for the Uninstall Registry Key (many example of this, including Powershell or C#) or using WMI Objects.

You are not allowed to follow up in this post.

Sign in to reply to this post.