2
A
回答
2
我不知道关于.NET,但在Win32中,最简单的方法是调用IsUserAnAdmin()。如果您需要更多的控制,你可以打开进程令牌与CheckTokenMembership为每个需要检查
编辑组检查:见pinvoke.net为.NET代码示例(感谢chopeen)
1
你可以循环组就像我在这个答案做:
Determining members of local groups via C#
阅读一些后,最简单的事情将是使用System.DirectoryServices.AccountManagement
命名空间。下面是它如何被使用:
http://www.leastprivilege.com/SystemDirectoryServicesAccountManagement.aspx
样品:
public static bool IsUserInGroup(string username, string groupname, ContextType type)
{
PrincipalContext context = new PrincipalContext(type);
UserPrincipal user = UserPrincipal.FindByIdentity(
context,
IdentityType.SamAccountName,
username);
GroupPrincipal group = GroupPrincipal.FindByIdentity(
context, groupname);
return user.IsMemberOf(group);
}
2
有一个Win32这个API你可以P/Invoke:IsUserAnAdmin
问题是更复杂的Vista ...看到这blog post。
0
如果你谈论的是当前运行的用户则
using System.Security.Principal;
WindowsIdentity identity = WindowsIdentity.GetCurrent();
WindowsPrincipal wp = new WindowsPrincipal(identity);
if (wp.IsInRole("BUILTIN\Administrators"))
// Is Administrator
else
// Is Not
如果没有,那么我预计其可能身份设置为特定的用户,但没有研究如何。
相关问题
- 1. 检查令牌是否属于管理员组的成员
- 2. 我如何检查如果登录的用户是管理员或管理员组的成员在javascript
- 3. 如何检查用户是否是管理员?
- 4. 如何检查用户是否是“管理员”
- 5. 检查用户是否是管理员/游戏管理员[库MySQLi]
- 6. 检查用户是否是特定Facebook群组的成员
- 7. 如何检查用户是否在C#中的域管理员
- 8. 如何检查当前用户是管理员组的C#
- 9. 确定是否用户是组成员
- 10. 检查用户是否属于管理员组 - C#
- 11. 如何检查用户是否是Odoo中特定模块的管理员?
- 12. 如何检查管理员或用户是否登录odoo
- 13. 检查用户是否是laravel中的管理员
- 14. 如何检查现有的用户帐户是否在管理员组中?
- 15. 检查用户是给定广告组(ASP Classic)的成员
- 16. WIX:如何区分管理员组和内置管理员的成员
- 17. 检查用户是否是管理员(vb)
- 18. 检查用户是否是管理员或不在PHP中
- 19. 检查管理员是否已登录
- 20. 检查用户是否是远程服务器上本地管理员组的成员
- 21. SQL查询:给定成员不是成员是什么组?
- 22. 如何检查用户是否是App Engine中的Google Apps域的管理员?
- 23. 如何根据用户名/域名检查用户是管理员组的成员
- 24. 如何检查用户是否是该机器上的管理员
- 25. 如何检查当前用户是否是Realm SyncUser的管理员?
- 26. 检查请求的用户是否具有管理员权限
- 27. 使用before_filter检查管理员或用户是否登录
- 28. Android用户管理器:检查用户是否拥有者(管理员)
- 29. 检查用户是否是会员
- 30. 检查进程用户是否为管理员C++
System.DirectoryServices.AccountManagement命名空间是.NET 3.5的新增功能,不是吗? – 2008-09-10 09:04:21
链接文章中的第一句话: “通过一些新的3.5东西,我偶然发现了一个名为”System.DirectoryServices.AccountManagement“的新程序集 - 这引起了我的注意。” – Espo 2008-09-11 05:36:10