[英]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.