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

📄 manager.cs

📁 该项目中对 SQLHelper 类进行了简单封装
💻 CS
字号:
/* 
 * Manager.cs @Microsoft Visual Studio 2008 <.NET Framework 3.5>
 * AfritXia
 * 2008-01-17
 * 
 * Copyright(c) TPDN
 * 
 */

using System;
using System.Configuration;
using System.Web;

using NET.AfritXia.MyHome.HomeManagement.CodeLand.ServiceProxy;

namespace NET.AfritXia.MyHome.HomeManagement.CodeLand
{
	/// <summary>
	/// 浏览者对象
	/// </summary>
	public sealed class Manager
	{
		// 用户昵称
		private string m_nickName = null;

		#region 类构造器
		/// <summary>
		/// 类默认构造器
		/// </summary>
		private Manager()
		{
		}
		#endregion

		/// <summary>
		/// 获取当前浏览者
		/// </summary>
		public static Manager Current
		{
			get
			{
				Manager currentVisitor = HttpContext.Current.Session["Visitor"] as Manager;

				if (currentVisitor != null)
					return currentVisitor;

				currentVisitor = new Manager();

				// 将 Visitor 对象保存到 Session
				HttpContext.Current.Session["Visitor"] = currentVisitor;

				return currentVisitor;
			}
		}

		/// <summary>
		/// 获取用户昵称
		/// </summary>
		public string NickName
		{
			get
			{
				return this.m_nickName;
			}
		}

		/// <summary>
		/// 获取用户全名, 格式为 IP/NickName@ServerID
		/// </summary>
		public string FullName
		{
			get
			{
				// 获取 IP 地址
				string ipAddress = HttpContext.Current.Request.UserHostAddress;
				// 获取服务器 ID
				string serverUID = ConfigurationManager.AppSettings["homeManagement.ServerUID"];

				return String.Format("{0}/{1}@{2}", ipAddress, this.NickName, serverUID);
			}
		}

		/// <summary>
		/// 获取当前浏览者的 SessionID
		/// </summary>
		public string SessionID
		{
			get
			{
				return HttpContext.Current.Session.SessionID;
			}
		}

		/// <summary>
		/// 是否已授权
		/// </summary>
		public bool IsAuthenticated
		{
			get
			{
				return String.IsNullOrEmpty(this.NickName) == false;
			}
		}

		/// <summary>
		/// 管理员登陆
		/// </summary>
		/// <param name="nickName">管理员昵称</param>
		/// <param name="md5pwd">MD5 格式密码</param>
		/// <param name="saveToCookie">是否保存到 Cookie</param>
		/// <returns></returns>
		public bool Login(string nickName, string md5pwd, bool saveToCookie)
		{
			// 登陆验证
			bool result = ServiceProxyFactory.CreateHomeAdminService().LoginValidate(nickName, md5pwd);

			if (result)
			{
				// 保存 Cookie 2 个月
				if (saveToCookie)
					this.SetCookie(nickName, (60 * 24 * 30 * 2));

				this.m_nickName = nickName;
			}

			return result;
		}

		/// <summary>
		/// 管理员注销
		/// </summary>
		public void Logout()
		{
			HttpContext.Current.Session.RemoveAll();

			// 清楚 Cookie
			this.SetCookie("", -1);
		}

		/// <summary>
		/// 设置用户 Cookie 信息
		/// </summary>
		/// <param name="nickName">用户昵称</param>
		/// <param name="saveTime">保存时间 (分钟数)</param>
		private void SetCookie(string nickName, int saveTime)
		{
			// 建立 Cookie
			HttpCookie cookie = new HttpCookie("NET.AfritXia.MyHome.HomeManagement.Manager");

			// 设置用户昵称
			cookie.Values.Add("nickName", nickName);

			// 设置 Cookie 有效时间
			cookie.Expires = DateTime.Now.AddMinutes(saveTime);

			// 在保存 Cookie 信息之前,事先删除原有信息以避免重复
			HttpContext.Current.Response.Cookies.Remove(nickName);
			// 保存 Cookie 信息
			HttpContext.Current.Response.Cookies.Add(cookie);
		}
	}
}

⌨️ 快捷键说明

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