using System;
using JYK;
namespace JR.jrqdCN.Admin_Com
...{
/**//// <summary>
/// UserLogin 的摘要说明。
/// </summary>
public class UserLogin
...{
private static bool isUserSession = System.Configuration.ConfigurationSettings.AppSettings["isUserSession"] == "1" ?true:false;

验证用户名和密码。正确返回 用户ID;不正确返回 -1#region 验证用户名和密码。正确返回 用户ID;不正确返回 -1
/**//// <summary>
/// 验证用户名和密码。正确返回 用户ID;不正确返回 -1
/// </summary>
/// <param name="UserCode">登录帐号,即用户名</param>
/// <param name="UserPWD">密码,不用加密</param>
/// <returns>正确返回 用户ID;不正确返回 -1</returns>
public static string UserLogChk(string UserName ,string UserPWD)
...{
JYK.DataAccessLayer dal = new JYK.DataAccessLayer();
//验证身份
UserPWD = JYK.Functions.ToMD5(UserPWD);
string id = dal.RunSqlGetID("select top 1 id from tt where username ='" + UserName + "' and userpwd ='" + UserPWD + "'");
if (dal.ErrorMsg.Length>2)
...{
//System.Web.HttpContext.Current.Response.Write(dal.ErrorMsg);
if (isUserSession)
System.Web.HttpContext.Current.Session["Admin"] = null;
else
System.Web.HttpContext.Current.Response.Cookies["Admin"].Value = null;
return "-1";
}
if (id != null)
...{
//可以登录
string str = id + "|" + id + "|" + DateTime.Now.ToString();
//密码正确,记录到Session
if (isUserSession)
System.Web.HttpContext.Current.Session["Admin"] = str;
else
System.Web.HttpContext.Current.Response.Cookies["Admin_UserName"].Value = str;
//修改用户信息:最后登录和登陆次数
dal.RunSql("update tt set hist = hist + 1,LastLTime = getDate(),lonip ='" + System.Web.HttpContext.Current.Request.UserHostAddress + "' where id=" + id);
return id;
}
else
...{
//密码不正确
if (isUserSession)
System.Web.HttpContext.Current.Session["Admin"] = null;
else
System.Web.HttpContext.Current.Response.Cookies["Admin_UserName"].Value = null;
return "-1";
}
}
#endregion

验证用户是否登录。#region 验证用户是否登录。
/**//// <summary>
/// 验证用户是否登录。通过Session来验证
/// </summary>
/// <returns></returns>
public static string[] CheckUser()
...{
if (isUserSession)
...{
if (System.Web.HttpContext.Current.Session["Admin"] == null)
//没有登录
return null;
else
...{
//返回信息
string info = System.Web.HttpContext.Current.Session["Admin_UserName"].ToString() ;
//info = Encryptor.Decrypt(info);
//判断信息是否正确
if (info.Length ==0)
//信息不正确
return null;
return info.Split('|');
}
}
else
...{
if (System.Web.HttpContext.Current.Request.Cookies ["Admin"] == null)
//没有登录
return null;
else
...{
//返回信息
string info = System.Web.HttpContext.Current.Request.Cookies["Admin"].Value;
//判断信息是否正确
if (info.Length ==0)
//信息不正确
return null;
return info.Split('|');
}
}
}
#endregion

退出登录#region 退出登录
/**//// <summary>
/// 退出登录,注销Session
/// </summary>
public static void UserOut()
...{
System.Web.HttpContext.Current.Session["Admin"] = null;
System.Web.HttpContext.Current.Response.Cookies["Admin"].Value = null;
}
#endregion
}
}
仅起抛砖引玉的作用。

本文介绍了一个用户登录验证机制的实现细节,包括验证用户名和密码、检查用户登录状态及退出登录等功能。该机制能够根据配置使用Session或Cookies进行状态管理。

762

被折叠的 条评论
为什么被折叠?



