none
判断用户是否为管理员 RRS feed

  • 问题

  • 想验证指定的域用户账号是否在一个域计算机上有管理员权限(不一定是本机上登录的当前用户), 可以通过WindowsIdentity、WindowsPrincipal或者DirectoryEntry类来实现吗?
    还是说需要用其他的途径来实现?
    2012年5月17日 15:44

全部回复

  • dear

    本机请参考以下

    http://www.wretch.cc/blog/JohnDX/14992780

    想判斷目前 Windows 登入的使用者是屬於哪個群組
    可以利用 System.Security.Principal 底下的 WindowsIdentity 來辨別
    以下的例子為
    判斷當前的使用者是否屬於 administrators 群組
    例:
    WindowsIdentity identity = WindowsIdentity.GetCurrent();
    WindowsPrincipal principal = new WindowsPrincipal(identity);
    bool IsAdmin = principal.IsInRole(WindowsBuiltInRole.Administrato

    AD请参考

    http://www.dotblogs.com.tw/yc421206/archive/2010/02/01/13436.aspx


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/


    2012年5月18日 4:06
  • dear

    本机请参考以下

    http://www.wretch.cc/blog/JohnDX/14992780

    想判斷目前 Windows 登入的使用者是屬於哪個群組
    可以利用 System.Security.Principal 底下的 WindowsIdentity 來辨別
    以下的例子為
    判斷當前的使用者是否屬於 administrators 群組
    例:
    WindowsIdentity identity = WindowsIdentity.GetCurrent();
    WindowsPrincipal principal = new WindowsPrincipal(identity);
    bool IsAdmin = principal.IsInRole(WindowsBuiltInRole.Administrato

    AD请参考

    http://www.dotblogs.com.tw/yc421206/archive/2010/02/01/13436.aspx


    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/


    判断当前用户是否为本机管理员倒是比较容易理解, 相关的资料也多一些
    但如果想要知道一个用户是不是指定的远程计算机, 这类资料就基本没有找到..
    学习了下提供的ad资料链接, 应该是实现search域中用户并加载了其属性字段....
    不过我知道连接wmi 是需要有管理员权限, 不知道查询ManagementScope.Connect 抛出所有可能异常?


    2012年5月18日 12:33
  • 不知道这篇文章能否帮到LZ:细说ASP.NET Windows身份认证

    里面也说了关于AD的存取方面资料


    给我写信: QQ我:点击这里给我发消息

    2012年5月19日 7:47
  • 不知道这篇文章能否帮到LZ:细说ASP.NET Windows身份认证

    里面也说了关于AD的存取方面资料


    给我写信: QQ我:点击这里给我发消息

    其实我是想知道如何去验证一个用户是否有指定计算机的管理员权限(这个计算机不一定是本机)
    因为这个帖子里提到可以active directory的方法来进行...所以才在想直接AD的验证是否可行..不是要读取AD中账户的信息...
    http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/528f7bb6-b4ad-4f23-9f52-106d8baa7384
    不然可能就是要用WMI的连接...没有管理员权限连不上就知道了..


    2012年5月21日 14:58
  • 其实我是想知道如何去验证一个用户是否有指定计算机的管理员权限(这个计算机不一定是本机)

    Hi 幻靈天,

    欢迎来到C#论坛。

    你可以看看下面的帖子,或许能够帮到你。

    How to know if user is a administrator of a remote machine

    http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/5082fbb1-2705-4b7e-8431-908ba518ffcb

    Non Administrator user & WMI

    http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/87cb54cd-9914-41cd-8768-cb6b8decc4dd/

    祝你愉快。



    Bob Shen [MSFT]
    MSDN Community Support | Feedback to us

    2012年5月24日 5:00
    版主
  • 其实我是想知道如何去验证一个用户是否有指定计算机的管理员权限(这个计算机不一定是本机)

    Hi 幻靈天,

    欢迎来到C#论坛。

    你可以看看下面的帖子,或许能够帮到你。

    How to know if user is a administrator of a remote machine

    http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/5082fbb1-2705-4b7e-8431-908ba518ffcb

    Non Administrator user & WMI

    http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/87cb54cd-9914-41cd-8768-cb6b8decc4dd/

    祝你愉快。



    Bob Shen [MSFT]
    MSDN Community Support | Feedback to us

    你好,我发现第一个帖子的样例代码中最后也是检测到domain user是否属于一个domain group的成员
    不过从这个借鉴,如果我把rootpath指定为计算机的路径,把groupname指定为administrators组,这样可以判断出来user是否是administrator group的成员呢?

    2012年5月25日 14:52