I have an ASP.NET application that uses the API. It's running on Windows Server 2008, IIS 7. It's running using the "Classic" ASP.NET app pool. My app is hanging on the call to SetActiveRepositoryID. I can make it work if I make the identity of the app pool a domain user that is a member of Domain Admins. Below are all the variations I tried and the result:
App pool identity / Result
~~~~~~~~~~~~~~~~~~~
NETWORK SERVICE / Hangs
Domain user with only minimal privileges / Hangs
Domain user added to local Administrators group of web server / Hangs
Domain user added to Domain Admins domain group / Works
Can someone elaborate what permission I need to set on the user account to make this work. Our security policies won't allow the service to run as a Domain Admin.
Thanks!
David
P.S. Code in question:
Code: Select all
Public Sub Login()
Dim reps As VaultRepositoryInfo() = Nothing
Dim theRep As VaultRepositoryInfo
_ci = New ClientInstance
_ci.UseFileSystemWatchers = False
_ci.UseUpdateThread = False
_ci.Init(VaultConnection.AccessLevelType.Client)
Try
_ci.Login("http://Vault/VaultService", _UserName, _Password)
Catch
_ci = Nothing
End Try
If Not _ci Is Nothing Then
_ci.ListRepositories(reps)
theRep = Nothing
For Each r As VaultRepositoryInfo In reps
If r.RepName = "TherapeuticResearchNet2" Then
theRep = r
Exit For
End If
Next
If Not (theRep Is Nothing) Then
' HERE IS WHERE IT HANGS (unless running as a Domain Admin)
_ci.SetActiveRepositoryID(theRep.RepID, _UserName, theRep.UniqueRepID, True, True)
End If
_ci.WorkingFolderOptions.RequireCheckOutBeforeCheckIn = True
_ci.WorkingFolderOptions.DefaultLocalCopyType = LocalCopyType.Replace
_ci.Refresh()
_uid = GetUID()
End If
End Sub