每当用户点击退出按钮时,他被重定向到登录页面,然后他不能通过单击后退按钮返回....但如果他知道任何页面的网址甚至是未经授权的页面。他能够访问该页面。我需要做的是通过输入urls..Plz help
来访问任何页面答案 0 :(得分:1)
您需要使用Form authentication配置您的网络应用。其他选择是使用Session或Cookies。
答案 1 :(得分:0)
您可以在登录页面放置一个会话变量,仅在用户通过登录页面访问任何页面时插入一些值。如果值不匹配,请检查每个页面加载中的会话值是否再次重定向到登录页面。
答案 2 :(得分:0)
使用page_load中的会话变量:
protected void Page_Load(object sender, EventArgs e)
{
Session["loggedin"] = "false";
}
...并检查登录事件。如果用户按下了登录按钮,则将会话变量设置为“true”。
protected void btnOK_Click(object sender, EventArgs e)
{
Session["loggedin"] = "true";
......
......
}
当页面重定向到另一个页面时,请检查会话变量的状态 在页面加载事件中。
try
{
if (Session["loggedin"].ToString() == "false")
{
Response.Write("<script> alert('Session Expires! please login first'); </script>");
Response.Redirect("login.aspx");
return;
}
}
catch (Exception er)
{
Response.Redirect("login.aspx");
}
答案 3 :(得分:0)
先生,请在Web.config
<system.web>
<authentication mode="Forms">
<forms loginUrl="Login.aspx"
protection="All"
timeout="30"
name=".ASPXAUTH"
path="/"
requireSSL="false"
slidingExpiration="true"
defaultUrl="default.aspx"
cookieless="UseDeviceProfile"
enableCrossAppRedirects="false" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
</system.web>
此代码将阻止在不登录的情况下在地址栏中输入网址。