Asp.net 限制用户在未登录的情况下访问任何网页
我希望任何未登录的用户都受到限制。 假设如果他们试图通过粘贴链接访问任何页面,他们仍然被重定向到登录页面 登录页面Asp.net 限制用户在未登录的情况下访问任何网页,asp.net,authentication,Asp.net,Authentication,我希望任何未登录的用户都受到限制。 假设如果他们试图通过粘贴链接访问任何页面,他们仍然被重定向到登录页面 登录页面 protected void Page_Load(object sender, EventArgs e) { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString); con.Open();
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("select * from Employee where UName =@username and UPassword=@password", con);
cmd.Parameters.AddWithValue("@username", UName.Text);
cmd.Parameters.AddWithValue("@password", UPassword.Text);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
Response.Redirect("Details.aspx");
}
}
我认为使用
可以通过asp.net中的会话来实现:
在用户成功登录后创建一个会话,如下所示
登录页面:
包括下面的名称空间
使用System.Web.SessionState代码>
用户输入用户名和密码后:
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("select * from Employee where UName =@username and UPassword=@password", con);
cmd.Parameters.AddWithValue("@username", UName.Text);
cmd.Parameters.AddWithValue("@password", UPassword.Text);
//Blah,Blah,Blah...
if(user=authenticated user) //your condition goes here
{
session["Sid"]=Session.SessionID;
//Blah,Blah,Blah...
}
现在,在要保护的每个页面中,都应该有以下内容:
protected void Page_Load(object sender, EventArgs e)
{
if (Session["Sid"] == null)
{
Response.Redirect("Login.aspx");
}
}
在web.config中:
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="120" />
我希望这有帮助…我不想单独限制每个文件夹。因此,您可以使用第二个代码段(所有页面都使用
)。我如何知道用户已通过身份验证?没有会话这是asp.net中的传统方式吗?还有没有别的好办法,不用治疗?
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="120" />