1

我是第一次处理身份验证和授权。

在我的 web.config 中,我有以下用于身份验证和授权的代码:

<authentication mode="Forms">
    <forms loginUrl="Authentication.aspx" timeout="30" defaultUrl="Default.aspx" cookieless="AutoDetect" >
        <credentials passwordFormat="Clear">
            <user name="shiv" password="abc@123"/>
            <user name="raj" password="abc@123"/>
        </credentials>


    </forms>

</authentication>
  <authorization>
      <deny users="?"/>
  </authorization>

<location path="Admin.aspx">
        <system.web>
            <authorization>
                <allow users="shiv"/>
                <deny users="*"/>

            </authorization>
        </system.web>

    </location>


    <location path="users.aspx">
        <system.web>
            <authorization>
                <allow users="shiv"/>
                <allow users="raj"/>
                <deny users="*"/>
            </authorization>
        </system.web>

    </location>

.cs 代码:

protected void btnLogin_Click(object sender, EventArgs e)
        {
            if(FormsAuthentication.Authenticate(txtUserName.Text,txtPassword.Text))
            {
                FormsAuthentication.RedirectFromLoginPage(txtUserName.Text,true);
            }
        }

正如我的预期,当我从“raj”用户登录时,它应该将我重定向到users.aspx,但每次它都将我重定向到Default.aspx

为什么会这样?

我做错什么了吗?

请帮我。

4

1 回答 1

1

在您的 web.configauthentication/forms部分中,适当地更改defaultUrl

改变

defaultUrl="Default.aspx"

对此:

defaultUrl="users.aspx"

关于FormsAuthentication.RedirectFromLoginPage

Redirects an authenticated user back to the originally requested URL 
or the default URL.
于 2013-05-15T07:55:50.150 回答