我们可以用代码来获取当前登录用户的权限信息, 用户角色类型有以下几种:
// 摘要: // 指定与 System.Security.Principal.WindowsPrincipal.IsInRole(System.String) 一起使用的公共角色。 [Serializable] [ComVisible(true)] public enum WindowsBuiltInRole { // 摘要: // 管理员具有对计算机或域的完全的无限制的访问权限。 Administrator = 544, // // 摘要: // 用户被阻止进行意外的或有意的系统级更改。因此,用户可以运行已验证过的应用程序,但不能运行大部分旧式应用程序。 User = 545, // // 摘要: // 来宾受到比用户更多的限制。 Guest = 546, // // 摘要: // 超级用户具有大部分管理员权限(但也受到某些限制)。因此,高级用户除了可以运行已验证过的应用程序外,还可以运行旧式应用程序。 PowerUser = 547, // // 摘要: // 帐户操作员管理计算机或域中的用户帐户。 AccountOperator = 548, // // 摘要: // 系统操作员管理特定的计算机。 SystemOperator = 549, // // 摘要: // 打印操作员可以获得打印机的控制权。 PrintOperator = 550, // // 摘要: // 备份操作员仅在出于备份或还原文件目的时才可以重写安全限制。 BackupOperator = 551, // // 摘要: // 复制程序支持域中的文件复制。 Replicator = 552, }
/// <summary> /// 获取当前用户的角色权限类型 /// </summary> /// <returns></returns> public static bool IsAdministrator() { bool result = false; try { WindowsIdentity current = WindowsIdentity.GetCurrent(); if (current == null) { return false; } result = new WindowsPrincipal(current).IsInRole(WindowsBuiltInRole.Administrator); } catch (UnauthorizedAccessException) { } catch (Exception) { } return result; }
|
请发表评论