使用SqlMembershipProvider添加对多个操作方法和视图的访问权限

时间:2013-12-10 08:03:47

标签: c# asp.net-mvc web-config asp.net-membership

在我的MVC项目中,我使用System.Web.Security.SqlMembershipProvider和<authorization><deny users="?" /></authorization>我限制对<forms loginUrl="Login/Index" name=".ASPXFORMSAUTH" />以外的视图和操作方法的所有访问。如果我想使用View访问多个Action方法,该怎么办?如何添加对多个Action方法和View的访问权限?

Web.Config中:

<authentication mode="Forms">
      <forms loginUrl="Login/Index" 
        name=".ASPXFORMSAUTH" />
    </authentication>
    <authorization>
      <deny users="?" />
    </authorization>
    <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
      <providers>
        <clear />
        <add
          name="SqlProvider"
          type="System.Web.Security.SqlMembershipProvider"
          connectionStringName="MySqlConnection"
          applicationName="MyApplication"
          enablePasswordRetrieval="false"
          enablePasswordReset="true"
          requiresQuestionAndAnswer="true"
          requiresUniqueEmail="true"
          passwordFormat="Hashed" />
      </providers>
    </membership>

1 个答案:

答案 0 :(得分:0)

也许你应该使用属性

[Authorize]

在控制器类上,然后使用属性

[AllowAnonymous]

关于你的行动方法。 但我不确定它是否会覆盖

中所述的行为
<authorization />