![](/img/trans.png)
[英]How to check permissions for a user or group in Sharepoint 2010 using C#?
[英]How can I check for the TFS 2010 permissions of a project without knowing password using C#?
我想檢查用戶是否通過代碼具有對TFS 2010 Project的訪問權限。 我只知道他的用戶名,我不知道他的TFS 2010密碼。此代碼應對我請求的任何用戶有效。 我應該返回true或false,true表示給定用戶具有給定項目的TFS 2010訪問權限。 以下代碼適用於我知道密碼的用戶。 我需要為任何用戶工作。 請幫我
Dim ProjectName As String = "ProjectName"
Dim icp As ICredentialsProvider = New UICredentialsProvider
Dim ncred As NetworkCredential = New NetworkCredential("Username", "password", "domain")
TFS = New TeamFoundationServer(Server, ncred, icp)
store = CType(TFS.GetService(GetType(WorkItemStore)), WorkItemStore)
Dim Project As Project
If store.Projects.Count >= 0 Then
For Each Project In store.Projects
If Project.Name = ProjectName Then
If Project.HasWorkItemWriteRights = True Or Project.HasWorkItemReadRights = True Then
Console.WriteLine("User have permissions")
End If
End If
Next
End If
您可以獲取用戶列表:
TfsConfigurationServer tcs = new TfsConfigurationServer(new Uri("http://tfsurl:8080/tfs"));
IIdentityManagementService ims = tcs.GetService<IIdentityManagementService>();
TeamFoundationIdentity tfi = ims.ReadIdentity(IdentitySearchFactor.AccountName, "[TEAM FOUNDATION]\\Team Foundation Valid Users", MembershipQuery.Expanded,ReadIdentityOptions.None);
TeamFoundationIdentity[] ids = ims.ReadIdentities(tfi.Members, MembershipQuery.None, ReadIdentityOptions.None);
List<string> allUsers = new List<string>;
foreach (TeamFoundationIdentity id in ids)
{
if (id.Descriptor.IdentityType == "System.Security.Principal.WindowsIdentity")
{
allUsers.Add(id.DisplayName)
}
}
然后迭代該列表,並檢查每個用戶是否存在於列表中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.