簡體   English   中英

基於表單的身份驗證問題?

[英]Form Based Authentication problem?

我有2頁:Login.aspx和Satis.aspx。 如果身份驗證正確,我將從Login.aspx重定向到Satis.aspx。 如果我從satis注銷,我將重定向到Login.aspx。 但是,如果我在網絡掃描儀上寫了satis.aspx的URL,我就輸入了satis.aspx。 但是我沒有登錄Satis.aspx。 我不應該直接輸入Satis.aspx。

我的網絡配置:

    <authentication mode="Forms">
            <forms loginUrl="Login.aspx" name=".ASPXFORMSAUTH" path="/"  protection="All">
                <credentials>
                    <user name="a" password="a"></user>
                </credentials>
            </forms>
        </authentication>

    <authorization>
      <allow users="*"/>
    </authorization>


    </system.web>
    <location path="~/ContentPages/Satis/Satis.aspx">
        <system.web>
            <authorization>
                <deny users="?"/>
            </authorization>
        </system.web>
    </location>

Login.aspx.cs:

   protected void lnkSubmit_Click(object sender, EventArgs e)
        {

            if(FormsAuthentication.Authenticate(UserEmail.Value,UserPass.Value))
            {
                  FormsAuthentication.RedirectFromLoginPage
                   (UserEmail.Value, PersistForms.Checked);
            }

             else
                Msg.Text = "Invalid Credentials: Please try again";

        }

Satis.aspx

 protected void LogoutSystem_Click(object sender, EventArgs e)
        {
            FormsAuthentication.SignOut();

            Response.Redirect("~/Login/Login.aspx");
        }

我認為您應該在web.config文件中使用“ deny users =“?”“而不是” allow users =“ *”“

[*]表示所有用戶,包括未通過身份驗證的用戶

[?]表示僅通過身份驗證的用戶

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM