using HH.AutoBom.Common;
using HH.Employee.Redis.ReisModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace HH.AutoBom.WebUI.AppCode
{
public class BasePage : Controller
{
//[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false)]
//public class AuthorizeFilterAttribute : ActionFilterAttribute
//{
// public override void OnActionExecuting(ActionExecutingContext filterContext)
// {
// /*
// 判断是否已经登录
// */
// }
//}
public BasePage()
{
if (Request != null)
{
//获得cookie(登录名)
HttpCookie ck_login = Request.Cookies[Constants.cookie_username];
string login = ck_login.Value;
//获得cookie(随机码)
HttpCookie ck_flag = Request.Cookies[Constants.cookie_flag];
string flag = ck_flag.Value;
string appCode = Constants.appCode;
if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(flag) || string.IsNullOrEmpty(appCode))
{
Response.Redirect("~/Login");
}
else
{
try
{
RedisUserInfo userInfo = UserInfoFactory.CreateCurrent(Login, Flag, AppCode);
if (userInfo == null || string.IsNullOrEmpty(userInfo.CN_S_LOGIN) || userInfo.CN_S_FLAG != Flag)
{
Response.Redirect("~/Login");
}
}
catch { Response.Redirect("~/Login"); }
}
}
}
private RedisUserInfo userInfo;
///
/// 登录用户信息
///
public RedisUserInfo LoginUser
{
get
{
if (userInfo == null)
{
//使用redis保存用户信息
userInfo = UserInfoFactory.CreateCurrent(Login, Flag, AppCode);
}
return userInfo;
}
}
#region 用户名
///
/// 用户名
///
public string Login
{
get
{
return Request.Cookies[Constants.cookie_username].Value;
}
}
#endregion
#region 用户标识
///
/// 用户标识
///
public string Flag
{
get
{
return Request.Cookies[Constants.cookie_flag].Value;
}
}
#endregion
#region 应用ID
///
/// 应用ID
///
public string AppCode
{
get
{
return Constants.appCode;
}
}
#endregion
}
}