![]() |
yx |
![]() |
|
05.17 17:20 |
|
|
/* class CurrentUser * * 经典类(通用): 保存登陆信息 * * 创建日期:2005-09-29 * 修改日期:2006-05-16 * 创建者 :yx * * 说明: 可以设置使用Session还是Cookie保存帐号信息 */
using System; using System.Web; using System.ComponentModel; using System.Data;
namespace SysClassLibrary.User { /// <summary> /// 存取当前登录用户的信息以及对当前用户的相关操作 /// created by yanxin 2005-9-29 /// </summary> public class CurrentUser { /// <summary> ///更改以确定使用Cookie还是Session ///说明:Cookie不安全,但不易丢失;Session安全,但易丢失,请酌情选择。开发过程中往往使用Cookie,它不会应为编译而丢失。 /// </summary> private static IUserInfo SaveType = new CookieUserInfo();
/// <summary> /// 不允许显示构造实例,这里全部为静态成员,因为到处都要用。 /// </summary> static CurrentUser() { }
/// <summary> /// 帐号 [注意:静态属性和静态变量是不一样的,静态变量为所有用户共享,而这里不是,这里是每个用户独立,因为它读写的Session或Cookie。静态属性和静态方法功能一样。] /// </summary> public static string UserID { get { return SaveType.UserID; } set { SaveType.UserID = value; } }
/// <summary> /// 用户名称 /// </summary> public static string UserName { get { return SaveType.UserName; } set { SaveType.UserName = value; } }
/// <summary> /// 所属机构(部门)ID /// </summary> public static string OrganID { get { return SaveType.OrganID; } set { SaveType.OrganID = value; } }
/// <summary> /// 用户角色ID /// </summary> public static string RoleID { get { return SaveType.RoleID; } set { SaveType.RoleID = value; } }
/// <summary> /// 所属机构(部门)Code /// 只读属性 /// </summary> public static string OrganCode { get { string sql = "select strCode ID from tab_Organ where id='" + OrganID + "'";
return SysClassLibrary.DataAccess.ExecuteScalar(sql).ToString(); } }
/// <summary> /// 登陆成功后调用 /// 移植到其他项目可酌情更改 /// </summary> /// <param name="userID"></param> public static void SetUserInfo(string userID) { string sql = "select * from Sys_Users where UserID='" + userID + "'";
DataTable dt = SysClassLibrary.DataAccess.dataTable(sql);
UserID = userID;//用户帐号 UserName = dt.Rows[0]["UserName"].ToString() ; //用户姓名 OrganID = dt.Rows[0]["Organ_ID"].ToString(); //机构ID RoleID = dt.Rows[0]["Role_ID"].ToString(); //用户角色 } /// <summary> /// 更新当前用户在线时间 /// 移植到其他项目可酌情更改 /// </summary> public static void UpdateLatestOnline() { string sql = "update sys_Users set OnlineLatest='{0}' where Online=1 and UserID='{1}'"; sql = string.Format(sql, DateTime.Now.ToString(), UserID);
SysClassLibrary.DataAccess.ExecuteSql(sql); } } } |
|