日期:2014-05-18  浏览次数:20454 次

安全登录的问题
在ASP.NET中,注册的用户信息存在sql   server数据库中,怎么让用户只能通过登录界面进入其他页面(防止直接输入其他页面的网址直接进入),高手指点下!

------解决方案--------------------
建一个类,这个类继承web.ui.page.这个类判断session是否有值 (登录页给session赋值)

所有需要“防止直接输入页面网址的页”都继承自这个类。
如下:
checkLogin.cs
public class checkLogin :System.Web.UI.Page
{
public checkLogin()
{

}

protected override void OnLoad(EventArgs e)
{
this.checkuser();
base.OnLoad(e);
}

private void checkuser()
{
if (this.Session[ "userid "] == null || this.Session[ "userid "].Equals( " "))
{
Response.Redirect( "redirect.htm ");
}
}
}

需要验证是否登录的页继承这个类:如下,
public partial class Manage_setMode : checkLogin


------解决方案--------------------
上面正解!!
放在cookie里面也可以
------解决方案--------------------
用cookie比较好一点,我感觉。虽然有些浏览器不支持cookie,安全性低。毕竟cookie是基于客户端判断的,一旦页面数量很多的话,服务器负荷会变得很大,
页面多的话,你可以单独建一个类,里面专门写cookie判断的代码,然后在需要限、制的页面进行调用就可以了。何必每页都来写cookie:)