Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何检查用户是否在管理员组中_Asp.net_.net_Vb.net - Fatal编程技术网

Asp.net 如何检查用户是否在管理员组中

Asp.net 如何检查用户是否在管理员组中,asp.net,.net,vb.net,Asp.net,.net,Vb.net,如何获取用户的组或用户是否在管理组中 我正在使用.NETFramework3.5Web应用程序 我得到的用户名如下: Dim strUser As String = System.Web.HttpContext.Current.User.Identity.Name.ToUpper 现在,我需要检查这个用户是否在管理员组中?或者,获取用户的all组 请与我分享一些帮助我实现这一目标的东西 谢谢。如果您有超过1名管理员,您可以使用以下两种方法确定他是否是管理员或他/她属于哪个组 var is

如何获取用户的组或用户是否在管理组中

我正在使用.NETFramework3.5Web应用程序

我得到的用户名如下:

   Dim strUser As String = System.Web.HttpContext.Current.User.Identity.Name.ToUpper
现在,我需要检查这个用户是否在管理员组中?或者,获取用户的all组

请与我分享一些帮助我实现这一目标的东西


谢谢。

如果您有超过1名管理员,您可以使用以下两种方法确定他是否是管理员或他/她属于哪个组

var isAdmin =((System.Security.Principal.WindowsPrincipal)this.HttpContext.User).IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator)
1> 更改数据库表 向用户登录数据库中再添加一行,以接受整数值、将其命名为任何您想要的名称或将其命名为组 现在,如果用户是管理员组,则将1传递给所有管理员2,并相应地传递给员工 稍后,如果您想检查他或她属于哪个组,只需检查他或她拥有的组值

2> 如果你要分类的人少了 把他们的名字写进代码本身,并使用字符串比较!
虽然我建议你用第一种方法!这是一个很好的做法

但是,用户名将从用户上下文中获取,因为这是web应用程序。因此,我确实有用户名字符串“domainname\username”,我需要对此进行检查。错误为
无法将类型为“System.Security.Principal.WindowsIdentity”的对象强制转换为类型为“System.Security.Principal.WindowsPrincipal”。
将此代码用作
Dim r as Boolean=CType(HttpContext.Current.User.Identity,System.Security.Principal.WindowsPrincipal).IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator)
Dim r As Boolean=CType(HttpContext.Current.User,System.Security.Principal.WindowsPrincipal).IsInRole(System.Security.Principal.W‌​indowsBuiltInRole.Administrator)
这很有效。谢谢。抱歉,检查了错误的副本:检查