User.IsInRole错误

时间:2011-08-20 14:43:02

标签: c# asp.net authorization

我在Page_Load的{​​{1}}内有此代码。

Site.Master.cs

我收到此错误:

  

非静态字段,方法或者需要对象引用   属性   “Microsoft.VisualBasic.ApplicationServices.User.IsInRole(字符串)。

任何线索?

3 个答案:

答案 0 :(得分:7)

您可以获取最新的HttpContext user并使用IsInRole method验证给定的角色,如下所示。

HttpContext.Current.User.IsInRole("Read")

将您的方法更改为

if(HttpContext.User.IsInRole("Read"))
{
   NavigationMenu.Visible = false;
}

答案 1 :(得分:2)

看起来您正在使用该类而不是该类的实例尝试:

User user = new User();
user.IsInRole("Read");

答案 2 :(得分:1)

我不完全同意答案。您从主页中的User属性获取Page实例,因此您应该使用:

var user = Page.User;
user.IsInRole("your role");