Asp.net mvc 4 MVC4角色身份验证组

Asp.net mvc 4 MVC4角色身份验证组,asp.net-mvc-4,authorization,roles,Asp.net Mvc 4,Authorization,Roles,我一直在尝试在我的MVC4应用程序上实现基于角色的安全性,以便将一些控制器操作阻止给非管理员成员。我在MSDN上找到了此信息页: 有人能告诉我在哪里最好的地方使用下面的行来管理组本身: Roles.CreateRole("Admin"); 我知道我想检查我的用户数据库表和主控制器索引上的IsAdmin列,但我不确定在哪里创建实际的管理员角色本身。任何帮助都将不胜感激。只需手动将其添加到数据库的webpages\u Roles表中即可 如果要以编程方式执行此操作,请将其添加到Initialize

我一直在尝试在我的MVC4应用程序上实现基于角色的安全性,以便将一些控制器操作阻止给非管理员成员。我在MSDN上找到了此信息页:

有人能告诉我在哪里最好的地方使用下面的行来管理组本身:

Roles.CreateRole("Admin");

我知道我想检查我的用户数据库表和主控制器索引上的IsAdmin列,但我不确定在哪里创建实际的管理员角色本身。任何帮助都将不胜感激。

只需手动将其添加到数据库的
webpages\u Roles
表中即可

如果要以编程方式执行此操作,请将其添加到
InitializeSimpleMembershipAttribute.cs
文件中的
Filters
文件夹中,位于下一行下方:

WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);        

// here it REALLY is...!
if (!Roles.RoleExists("Admin"))
    Roles.CreateRole("Admin"); 

只需手动将其添加到数据库的
webpages\u Roles
表中即可

如果要以编程方式执行此操作,请将其添加到
InitializeSimpleMembershipAttribute.cs
文件中的
Filters
文件夹中,位于下一行下方:

WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);        

// here it REALLY is...!
if (!Roles.RoleExists("Admin"))
    Roles.CreateRole("Admin"); 

嗨,阿明,我尝试了你的建议,但现在我收到了以下错误:此方法只能在应用程序的预启动初始化阶段调用。使用PreApplicationStartMethodAttribute声明将在该阶段调用的方法。仍然会在if语句的计算上抛出错误,用户PreApplicationStartMethodAttribute错误Hey Amin不担心,这比整个上午都在尝试的要少,我在filters文件夹中没有InitializeSimpleMembershipAttribute.cs文件,我正在使用ADFS进行身份验证,这是原因吗?@Jay-是的!如果您使用
互联网应用程序
模板和默认的简单成员身份,您就拥有了该文件。。。!现在,我不认为你可以使用这种方法。。。!所以,似乎最好是手动添加它们,一次一次……我有一个字段,是数据库的用户表,名为IsAdmin。是否有任何方法可以针对此字段授权控制器或页面?嗨,阿明,我尝试了你的建议,但现在收到以下错误:此方法只能在应用程序启动前初始化阶段调用。使用PreApplicationStartMethodAttribute声明将在该阶段调用的方法。仍然会在if语句的计算上抛出错误,用户PreApplicationStartMethodAttribute错误Hey Amin不担心,这比整个上午都在尝试的要少,我在filters文件夹中没有InitializeSimpleMembershipAttribute.cs文件,我正在使用ADFS进行身份验证,这是原因吗?@Jay-是的!如果您使用
互联网应用程序
模板和默认的简单成员身份,您就拥有了该文件。。。!现在,我不认为你可以使用这种方法。。。!所以,似乎最好是手动添加它们,一次一次……我有一个字段,是数据库的用户表,名为IsAdmin。是否有针对该字段授权控制器或页面的方法?