【C#】当前用户是否有管理员权限:WindowsPrincipal

安全性的两个基本是身份认证和授权
Principal是一个包含用户的标识和用户的所属角色的对象。
IPrincipal接口定义了Identity属性和IsInRole方法,Identity属性返回Identity对象;
在IsInRole方法中,可以验证用户是否是指定角色的一个成员。
角色是有相同安全权限的用户集合,同时它是用户的管理单元。
角色可以是Windows组或自己定义的一个字符串集合。

// 计算机名称
Console.WriteLine("计算机名称:", Environment.UserName);
// 计算机NetBIOS名称 
Console.WriteLine("NetBIOS名称:{0}", Environment.MachineName);
// 计算机网络域名称 
Console.WriteLine("网络域名称:{0}", Environment.UserDomainName);

WindowsPrincipal winPrincipal = new WindowsPrincipal(WindowsIdentity.GetCurrent());

// 验证用户是否是指定角色的一个成员
bool isAdmin = winPrincipal.IsInRole(WindowsBuiltInRole.Administrator);
if (isAdmin)
{
     Console.WriteLine("当前用户:是管理员", Environment.UserName);
}
else
{
     Console.WriteLine("当前用户:非管理员", Environment.UserName);
}
// 获取运行程序的路径
string fileName = Process.GetCurrentProcess().MainModule.FileName;

【C#】当前用户是否有管理员权限:WindowsPrincipal

上一篇:window jenkins + sonarqube + sonar-scanner 最佳实践


下一篇:03 win7部署&用户和组管理