我正在爲WPF應用程序開發業務邏輯。在應用程序啓動之前,我必須證明CurrentUser是否在特定域的ActiveDirectory中,如果他在那裏,我必須找出當前用戶在哪個角色中。目前的用戶和他在AD的存在工作正常,但我有問題找出角色。如何獲取當前用戶的所有角色?
我已經嘗試過:
using System.Web.Security;
Roles.GetRolesForUser(currentuser);
但問題是,我必須使角色的管理,所以我上面的代碼中寫道:
Roles.Enabled = true;
但仍有與它的問題 - >System.InvalidOperationException;
這裏是整個代碼(評測):
string currentuser = Environment.UserName;
string currentmachine = Environment.MachineName;
if (DirectoryEntry.Exists(string.Format("WinNT://{0}/{1}", currentmachine, currentuser)))
{
Console.WriteLine("it's working\n");
Roles.Enabled = true;
Console.WriteLine(Roles.GetRolesForUser(currentuser));
}
else
{
Console.WriteLine("it's not working");
}
這是使用指令的問題嗎?或者還有其他可能性來檢查用戶是哪個角色?
非常感謝。如果您還使用成員
var user = Membership.GetUser("WhateverUsername");
string [] roles = Roles.GetRolesForUser(user.UserName);
如果沒有,那麼只需指定用戶名
我使用這個指令:'using System.DirectoryServices.AccountManagement; using System.DirectoryServices.ActiveDirectory; using System.DirectoryServices.Protocols; 使用System.DirectoryServices;' –
謝謝 - 必須嘗試一些與域的事情,但現在它工作正常。 –