重定向授权失败

时间:2011-03-06 11:56:19

标签: .net asp.net asp.net-membership asp.net-roles

我有几个部分

<location path="Page1.aspx">
    <system.web>
      <authorization>
        <allow roles="superadmin"/>
        <deny users="*" />        
      </authorization>
    </system.web>    
</location>

<location path="Page2.aspx">
    <system.web>
      <authorization>
        <allow roles="admin"/>
        <allow roles="superadmin"/>
        <deny users="*" />
      </authorization>
    </system.web>
</location>

如果授权失败,我想重定向到指定的页面。这不是一般页面。我想根据用户想要打开的页面进行特定的重定向。怎么做?

提前致谢。

3 个答案:

答案 0 :(得分:0)

错误/登录页面将原始页面作为传递给它的参数接收。您可以将代码添加到将根据该参数重定向的错误/登录页面。每个页面都需要在web.config中指定,以允许所有用户访问它,因为用户当然没有登录。

答案 1 :(得分:0)

我认为您将不得不使用自己的自定义身份验证方案。 AFAIK,Forms身份验证对整个Web应用程序使用相同的登录页面。

答案 2 :(得分:0)

表格认证?使用asp:Login控件和LoginError事件

指定loginUrl

<system.web>
    <authentication mode="Forms">
        <forms name=".ASPXFORMSAUTH" loginUrl="Login.aspx" ... />
    </authentication>
</system.web>

如果在查询中使用redirectUrl进行身份验证失败,将重定向用户。