












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);
}
}
}
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。