use*_*493 6 c# active-directory c#-4.0 asp.net-mvc-3 asp.net-mvc-4
我需要返回用户所属的所有Active Directory组,但是在string []中,所以我可以使用Generic Principal中的结果.
我不确定是否要投出结果?请帮忙!
string[] roles = new string[] {
helper.GetActiveDirectoryGroups(User.Identity.Name) };
GenericPrincipal principal = new GenericPrincipal(identity,roles);
public string[] GetActiveDirectoryGroups(string userName)
{
//code here
}
Run Code Online (Sandbox Code Playgroud)
Dav*_*ach 11
这应该可以解决问题.
using System.DirectoryServices.AccountManagement;
public static string[] GetGroups(string username)
{
string[] output = null;
using (var ctx = new PrincipalContext(ContextType.Domain))
using (var user = UserPrincipal.FindByIdentity(ctx, username))
{
if (user != null)
{
output = user.GetGroups() //this returns a collection of principal objects
.Select(x => x.SamAccountName) // select the name. you may change this to choose the display name or whatever you want
.ToArray(); // convert to string array
}
}
return output;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10663 次 |
| 最近记录: |