在登录界面写:
//数据库判断用户名密码是否正确
然后:
IF(是正确的)
{
Session["LoginUser"] = this.txt_Uid.Text.Trim();
Response.Redirect("~/Default.aspx");
}
else
{
objJs.JsAlert("登录失败");
}在需要用户登录的页面中:
if (Session["LoginUser"] != null)
{
Uname = Session["LoginUser"].ToString();
}
else
{
objJs.JsAlert("对不起,您没有登录");
Response.Redirect("~/login.aspx");
}
if (!IsPostBack)
{
this.Label1.Text = Uname + "! 您登录成功了!"; }这样是最简单的了...大家在这基础上还有什么需要指点我的吗?
//数据库判断用户名密码是否正确
然后:
IF(是正确的)
{
Session["LoginUser"] = this.txt_Uid.Text.Trim();
Response.Redirect("~/Default.aspx");
}
else
{
objJs.JsAlert("登录失败");
}在需要用户登录的页面中:
if (Session["LoginUser"] != null)
{
Uname = Session["LoginUser"].ToString();
}
else
{
objJs.JsAlert("对不起,您没有登录");
Response.Redirect("~/login.aspx");
}
if (!IsPostBack)
{
this.Label1.Text = Uname + "! 您登录成功了!"; }这样是最简单的了...大家在这基础上还有什么需要指点我的吗?
解决方案 »
- entity framework 5 插入数据问题
- FileUpload 控件上传问题?
- 求助,ASP.NET 新建任何东西都提示 未指定的错误!
- 关于框架的问题!!!!
- CuteEditor.dll这个控件谁用过????
- 求助:如何在网页中显示传输速率
- 请问
- 如何把 <select></select> 中的多个<option> 循环生成一个 sql 查询语句?详请请进!100分必结帖!
- 求助:如何将某个制定的目录付权给ASPNET用户,并且具有完全控制的权限?
- 多模块合并和多语言的使用
- 奇怪!查看代码进不了后台cs文件,双击页面按钮,生成的事件代码在aspx上
- asp.net三层设计的具体步骤?
不过,我认为你只是用Session["LoginUser"] 来判断还是不够严密!
可以多考虑一些!
用SESSION也是可以攻陷的....
然后需要判断登录的页面都继承这个类
这样修改登录判断的时候,只修改这个类就行了,否则的话,每个页面都要修改
个人意见,仅供参考
不知楼上的说继承是怎么做的 public class pagebase
{
public pagebase()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public void checkUser()
{
if (HttpContext.Current.Session["user"] == null)
{
HttpContext.Current.Response.Write("未登陆!");
}
} }
单纯是这样,没有什么弊端吗?
if(uname == null)
{
//没有登陆,或超时
//退出或其他动作
}
else
{
//验证成功
//更多动作
}
{
try
{
try
{
判读用户是否存在
判断用户是否启用
判断密码
SetSession(Usersession);
Application[Usersession.UserID.ToString()] = 登陆时间;//用于判读登陆超时 Response.Redirect("index.aspx");
}
catch (Exception ex)
{
}
}
catch (Exception ex)
{ }
}
程序代码
string sKey = username.Text.ToString().Trim(); // 得到Cache中的给定Key的值
string sUser = Convert.ToString(Cache[sKey]); // 检查是否存在
if (sUser == null || sUser == String.Empty)
{
TimeSpan SessTimeOut = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);//取得Session的过期时间
HttpContext.Current.Cache.Insert(sKey, sKey, null, DateTime.MaxValue, SessTimeOut, System.Web.Caching.CacheItemPriority.NotRemovable, null);//将值放入cache己方便单点登录
//成功登录
}
else if (Cache[sKey].ToString() == sKey)//如果这个账号已经登录
{
ClientScript.RegisterStartupScript(GetType(), "提示", "<script>alert('对不起,当前用户已经登录');</script>");
return;
}
else
{
Session.Abandon();//这段主要是为了避免不必要的错误导致不能登录
}
{
Uname = Session["LoginUser"].ToString();
}
else
{
objJs.JsAlert("对不起,您没有登录");
Response.Redirect("~/login.aspx");
}
//判断Session中的LoginUser是不是真的在数据库中存在,防止Session欺骗
if ((!IsPostBack)&& Users.IsExist(Uname))
{
this.Label1.Text = Uname + "! 您登录成功了!"; }