ASP.NET成员身份,拒绝所有角色访问

时间:2013-01-17 13:51:47

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

我有一个asp.net会员资格授权问题,我配置了我的主要网络配置:

<connectionStrings>
    <add name="xxx" connectionString="Data Source=; Initial Catalog=; Integrated Security=;"    providerName="System.Data.SqlClient" />
    <remove name="LocalSqlServer"/>
    <add name="LocalSqlServer"
  connectionString="Data Source=; Initial Catalog=; Integrated Security=;"
  providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
    <roleManager enabled="true" defaultProvider="MyProvider">
       <providers>
        <add name="MyProvider"
        type="System.Web.Security.SqlRoleProvider" 
        connectionStringName="Devices"
        applicationName="MembersTable" />
       </providers>
    </roleManager>

    <membership defaultProvider="MyProvider">
      <providers>
        <add name="MyProvider"
        type="System.Web.Security.SqlMembershipProvider"
        connectionStringName="" />
      </providers>          
    </membership>
    <authentication mode="Forms">
        <forms loginUrl="Denied.aspx" name=".ASPXFORMSAUTH"/>
    </authentication>
  <compilation debug="true" targetFramework="4.0" />
</system.web>
<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>` 

在指定的文件夹中,我的配置看起来像

<configuration>
  <location>
    <system.web>
        <authorization>
            <allow roles="role1"/>
            <deny users="*" />
        </authorization>
    </system.web>
  </location>
</configuration>

但登录后我无法访问文件夹文件,它会在Denied.aspx页面上返回给我 我使用Membership.ValidateUser方法验证用户,并使用Response.Redirect调用页面。这是否足够,或者我需要一种不同的方式来请求受保护的页面

if (
       Membership.ValidateUser(this.txtUsername.Text, this.txtPassword.Text))
        {

                Response.Redirect("/tempUser/Role1Page.aspx");

        }
        else {
            Response.Redirect("Denied.aspx");
        }

1 个答案:

答案 0 :(得分:0)

听起来用户不在角色中或者角色配置不当(尽管它在你的片段中看起来是正确的)。您可以通过查看网站配置工具(项目菜单,ASP.Net配置,安全性)或代码User.IsInRole("rolename")来检查这一点。

相关问题