⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tcmsuser.cs

📁 ASP.net网站开发四“酷”全书:新闻、论坛、电子商城、博客_源码
💻 CS
字号:
using System;

namespace _lib
{
	public enum EUserRank : short	// 用户级别值
	{
		Administrator  = 0,
		User           = 1,
		Upper_Bound    = 2,
	}

	/// <summary>
	/// TCmsUser 的摘要说明。
	/// </summary>
	public class TCmsUser : TData
	{
		const string CTableName = "t_user";
		const string CKeyName   = "user_id";

		private string FUserID;
		private int FUserSort;
		private DateTime FUserTime;
		private string FUsername;
		private string FUserPwd;
		private string FUserRealName;
		private string FUserTel;
		private string FUserEmail;
		private int FUserStatus;

		public TCmsUser()
		{
			FTableName = CTableName;
			FKeyName   = CKeyName;
		}

		public TCmsUser(string ID)
		{
			FTableName = CTableName;
			FKeyName   = CKeyName;
			FKeyValue  = ID;
		}

		public TCmsUser(System.Web.UI.Page page)
		{
			FTableName = CTableName;
			FKeyName   = CKeyName;
			FKeyValue  = (string)page.Session["uid"];
		}

		/// <summary>
		/// (静态)根据编号在数据库中删除记录。
		/// </summary>
		public static void DeleteByID(string ID)
		{
			TData.DeleteByID(ID, CTableName, CKeyName);
		}

		/// <summary>
		/// 在数据库中检索记录(已重写)。
		/// </summary>
		public override void Select()
		{
			string strSql= GetSelectString();
			TSqlDB oDB= new TSqlDB(strSql);
			if (!oDB.EOF)
			{
				FUserID       = oDB["user_id"      ].ToString();
				FUserSort     = oDB["user_sort"    ].ToInt();
				FUserTime     = oDB["user_time"    ].ToDateTime();
				FUsername     = oDB["user_name"    ].ToString();
				FUserPwd      = oDB["user_pwd"     ].ToString();
				FUserRealName = oDB["user_realname"].ToString();
				FUserTel      = oDB["user_tel"     ].ToString();
				FUserEmail    = oDB["user_email"   ].ToString();
				FUserStatus   = oDB["user_status"  ].ToInt();
			}
			oDB.Free();
		}

		/// <summary>
		/// 在数据库中插入记录。
		/// </summary>
		public void Insert()
		{
			string ExSql = "newid(), null, getdate(), '"+FUsername+"', '"+FUserPwd+"', '"+FUserRealName+"', '"+FUserTel+"', '"+FUserEmail+"', 1, 0";
			base.Insert(ExSql);
		}

		/// <summary>
		/// 在数据库中更新记录。
		/// </summary>
		public void Update()
		{
			string ExSql = "user_time=getdate(), user_name='"+FUsername+"', user_pwd='"+FUserPwd+"', user_realname='"+FUserRealName+"', user_tel='"+FUserTel+"', user_email='"+FUserEmail+"', user_status="+FUserStatus;
			base.Update(ExSql);
		}

		public bool isNull	// 各项属性是否为空
		{
			get
			{
				return (FKeyValue==null) || (FKeyValue=="");
			}
		}

		public string Username
		{
			get
			{
				return FUsername;
			}
			set
			{
				FUsername= value;
			}
		}

		public string UserPwd
		{
			get
			{
				return FUserPwd;
			}
			set
			{
				FUserPwd= value;
			}
		}

		public string UserRealName
		{
			get
			{
				return FUserRealName;
			}
			set
			{
				FUserRealName= value;
			}
		}

		public string UserTel
		{
			get
			{
				return FUserTel;
			}
			set
			{
				FUserTel= value;
			}
		}

		public string UserEmail
		{
			get
			{
				return FUserEmail;
			}
			set
			{
				FUserEmail= value;
			}
		}

		#region 根据用户名和密码检查用户身份
		/// <summary>
		/// (静态)私有:根据用户名和密码检查用户身份
		/// 用户名和密码正确则返回UID,否则返回“”
		/// </summary>
		private static string CheckLoginReturnUID(string username, string userpwd)
		{
			username= username.Trim();
			userpwd = userpwd.Trim();

			string Result= "";
			bool isValid= false;

			// 验证数据库用户,并取ID
			string strSql= "select user_id from t_user where user_name='"+username+"' and user_pwd='"+userpwd+"'";
			TSqlDB oUser= new TSqlDB(strSql);
			isValid= !oUser.EOF;
			if (isValid)
				Result= oUser["user_id"].ToString();
			oUser.Free();

			// 返回结果
			return Result;
		}

		/// <summary>
		/// (静态)根据用户名和密码检查用户身份
		/// 用户名和密码正确则返回“真”,否则返回“假”
		/// </summary>
		public static bool CheckLogin(string username, string userpwd)
		{
			bool Result= false;
			string UserID= CheckLoginReturnUID(username, userpwd);
			Result= UserID.Length>0;

			// 返回结果
			return Result;
		}

		/// <summary>
		/// (静态)根据用户名和密码检查用户身份
		/// 用户名和密码正确则返回“真”,否则返回“假”,并将UID保存在Session中
		/// </summary>
		public static bool CheckLogin(string username, string userpwd, System.Web.UI.Page page)
		{
			bool Result= false;
			string UserID= CheckLoginReturnUID(username, userpwd);
			Result= UserID.Length>0;

			// 保存Session
			if (Result)
				page.Session["uid"]= UserID;

			// 返回结果
			return Result;
		}
		#endregion

		/// <summary>
		///(静态)检查用户是否是合法用户
		/// </summary>
		public static void CheckUser(System.Web.UI.Page page)
		{
			bool Result = false;

			TCmsUser oUser = new TCmsUser(page);
			Result = !oUser.isNull;

			if (!Result)
				page.Server.Transfer("login.aspx");
		}

		/// <summary>
		///(静态)检查用户是否是管理员
		/// </summary>
		public static void CheckAdmin(System.Web.UI.Page page)
		{
			bool Result = false;

			if ((page.Session["uid"]!=null)&&(page.Session["uid"].ToString().Length>0))
			{
				// 验证数据库用户
				string strSql= "select user_id from t_user where user_rank=0 and user_id='"+(string)page.Session["uid"]+"'";
				TSqlDB oUser= new TSqlDB(strSql);
				Result= !oUser.EOF;
				oUser.Free();
			}

			if (!Result)
				page.Server.Transfer("login.aspx");
		}
	}

	/// <summary>
	/// TCmsArticleRset 的摘要说明。
	/// </summary>
	public class TCmsUserRset : TDataRset
	{
		const string CTableName = "t_user";
		const string CKeyName   = "user_id";

		public TCmsUserRset()
		{
			FTableName = CTableName;
			FKeyName   = CKeyName;
			Load();
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -