lincunjing4
|
分类:其他编程语言
|
浏览773次
我的主页即登陆页面是Default.aspx。登陆之后可以链接到很多页面,例如aaa.aspx。我的主机名是apple。别人可以输入网址http://apple/aaa.aspx直接访问而不需要登陆。请问一般用什么方法解决这类问题。
2010-07-21 10:39
提问者采纳
1.在登陆页登录成功后创建一个Session["userName"]来保存登录人的名字,然后在其他页面的Page_Load中 if(Session["userName"]==null){Reponse.Write("请登录!");Response.Wirte("<script>location.href='Default.aspx'</script>");} 2.使用.net的Form验证,在webconfig中配置 <authentication mode="Forms" > <forms name="authTest" loginUrl="~/admin/admin_login.aspx" timeout="20"> </forms> </authentication> 然后在登录按钮方法中 protected void ButtonLogin_Click(object sender, EventArgs e) { FormsAuthenticationTicket ticket=new FormsAuthenticationTicket (1,"LoginName",DateTime.Now,DateTime.Now.AddMinutes(20),false,"aaa",FormsAuthentication.FormsCookiePath); HttpCookie cookie=new HttpCookie(FormsAuthentication.FormsCookieName,FormsAuthentication.Encrypt(ticket)); if(ticket.IsPersistent) { cookie.Expires = ticket.Expiration; } Response.Cookies.Add(cookie); Response.Redirect("aaa.aspx"); } Form验证你可以自己在查查相关资料