我有一個獨特的困惑。驗證用戶憑證
我正在開發一個將測試用戶帳戶權限的類,我已經介紹了大部分基礎。但是我最關心的是針對Null
或SID
進行測試。
的原因,我所關心的是:
if(user != null)
{
role.IsInRole(WindowsBuiltInRole.Administrator);
}
顯然,一個簡單的實現來證明,但將WindowsBuiltInRole
檢查嚴格基於個人計算機上或對域?如果用戶的域帳戶確實是Administrator,它會成功測試嗎?
或者更好的方法來測試五個或六個域名SID
令牌?其他用戶帳戶(如網絡服務帳戶)是否也會以相同方式操作?什麼是確保令牌值真實性的最佳方法。
任何輸入將是了不起的。
這是一篇很棒的文章,所以默認情況下,'BuiltInRole'比較* Local Machine,Workgroup或Domain *來查看哪些默認的'Roles'屬於哪個?但它實際上使用'SID令牌'。 – Greg 2013-04-01 21:04:35
該檢查在管理員組上完成,因此它完全取決於您正在運行代碼的計算機在該組中的內容。而已。使用的底層Windows API僅僅是CheckTokenMembership http://msdn.microsoft.com/en-us/library/windows/desktop/aa376389.aspx和相應的SID。 – 2013-04-02 06:03:35
謝謝,我不知道我是如何錯過的,當時我正在尋找有關處理它的理想方式的答案。你雖然賺了。 – Greg 2013-04-02 15:13:28