.net 编程问题 登陆验证

来源:百度知道 编辑:UC知道 时间:2024/05/11 02:22:15
我做了连两个页面,第一个是登陆页面,第二个是登陆后显示的页面,但是直接输入第二个页面的地址能直接打开,我想不经过登陆就不显示第二个页面。这个session 改怎么用啊

这是第一个页面的程序
public partial class log : System.Web.UI.Page
{

public SqlConnection GetConnection()
{
string myStr = ConfigurationManager.AppSettings["ConnectionString"].ToString();
SqlConnection myConn = new SqlConnection(myStr);
return myConn;
}
protected void Button2_Click(object sender, EventArgs e)
{

this.TextBox1.Text = null;
this.TextBox2.Text = null;
}
protected void Button1_Click(object sender, EventArgs e)
{
string user, pwd;
user = this.TextBox1.Text;
pwd = this.TextBox1.Text;
Session["user"] = this.TextBox1.Text;
SqlConnection myconn = GetConnection();
myconn.Open();
string sql = "select * from mid where u

在第二个页面的pageload里加如下代码就可以了
if (Session["user"] == null)
{
Response.Redirect("登录页");
return;
}

第二个页面load里加
if (Session["name"] == null || Session["name"].ToString() == String.Empty)
{
Response.Write("<script language=javascript>parent.parent.location.reload('你跳转的页面名');</script>");
Response.Write("<script language=javascript>parent.parent.close();</script>");
}
else
{
这里写原来代码
}

Session 应在放在 Global.asax 设定
拿分

session 登陆成功之后 就写在服务期端了 所以只要是同一个用户请求调用 不论是在哪个页面中只要用 string user=Session["user"];就能得到这个Session
你可以在任何一个页面用这条语句试一下