如何在mvc中启用角色?我的代码在下面给出,我不知道如何创建角色,我想将它添加到数据库..
[AttributeUsage(AttributeTargets.All)]
public class UserRightAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
//write your user right logic
//if user has right to do nothig otherwise redirect to error page.
string message = "It seems You are not authorize to view this part of the web site!!!.";
RouteValueDictionary redirectTargetDictionary = new RouteValueDictionary();
redirectTargetDictionary.Add("area", "");
redirectTargetDictionary.Add("action", "SaveData");
redirectTargetDictionary.Add("controller", "Home");
redirectTargetDictionary.Add("customMessage", message);
filterContext.Result = new RedirectToRouteResult(redirectTargetDictionary);
}
}
答案 0 :(得分:6)
首先在web.config中添加以下内容
<system.web>
<roleManager enabled="true" />
...
添加角色与ASP.NET相同,例如
Roles.CreateRole("RoleName");
Roles.AddUserToRole("userName", "RoleName");
答案 1 :(得分:0)
Web.config add
<membership>
<providers>
<clear/>
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/"/>
</providers>
</membership>
<profile>
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
</providers>
<properties>
<add name="insid" type="int" defaultValue="0"/>
</properties>
</profile>
<roleManager enabled="true">
<providers>
<clear/>
<add connectionStringName="ApplicationServices" applicationName="/" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider"/>
<add applicationName="/" name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider"/>
</providers>
</roleManager>
Roles.CreateRole("RoleName"); Roles.AddUserToRole("userName", "RoleName");