我有一个独特的困惑。验证用户凭证
我正在开发一个将测试用户帐户权限的类,我已经介绍了大部分基础。但是我最关心的是针对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