📄 manager.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 + -