/// <summary> /// 用于单点登录判断,只判断,不执行动作 /// </summary> /// <returns></returns> public static bool CheckLoginStatusWithOutAction(out string msg) { msg = ""; bool flag = true; Dictionary <long, CookieInfo> dict = HttpContext.Current.Application["CookieCache"] as Dictionary <long, CookieInfo>; long userKey = Utility.GetLoginUserKey(); if (userKey == 0) { flag = false; msg = "太久没操作,请重新登陆!"; } else { if (!dict.ContainsKey(userKey)) { flag = false; msg = "服务器不记得你了!"; } else { CookieInfo ci = dict[userKey]; if (ci.ValidKey != Utility.GetCookieKey()) { flag = false; msg = "帐号已在别处登陆!"; } } } return(flag); }
public static CookieInfo GetCookieData(System.Web.HttpRequest request, bool checkURL = false) { CookieInfo result = null; if (checkURL == true) { string bopSession = request[GetCookieName()]; if (bopSession != null) { result = GetCookieData(bopSession); } else { result = null; } } else { Boolean isCookiePresent = IsCookiePresent(request, GetCookieName()); if (isCookiePresent == true) { var cookie = request.Cookies.Get(GetCookieName()); result = GetCookieData(cookie); } else { result = null; } } return(result); }
public CookieBannerController() { using (var scope = Current.ScopeProvider.CreateScope()) { cookieInfo = scope.Database.Fetch <CookieInfo>(string.Format("select *from CookieDisclaime")).FirstOrDefault(); scope.Complete(); } }
/// <summary> /// Gets CookieInfos for display in CookieManager dialog. /// </summary> /// <returns>CookieInfo containing plugin name, cookie purpose description & cookie type</returns> public CookieInfo GetCookieInfo() { var cookieInfo = new CookieInfo { Name = _localizationService.GetResource("Plugins.FriendlyName.SmartStore.GoogleAnalytics"), Description = _localizationService.GetResource("Plugins.Widgets.GoogleAnalytics.CookieInfo"), CookieType = CookieType.Analytics }; return(cookieInfo); }
/// <summary> /// Gets CookieInfos for display in CookieManager dialog. /// </summary> /// <returns>CookieInfo containing plugin name, cookie purpose description & cookie type</returns> public CookieInfo GetCookieInfo() { var cookieInfo = new CookieInfo { Name = _services.Localization.GetResource("Plugins.FriendlyName.Widgets.AmazonPay"), Description = _services.Localization.GetResource("Plugins.Payments.AmazonPay.CookieInfo"), CookieType = CookieType.Required }; return(cookieInfo); }
public async Task <IActionResult> CookieInfoCreatePopup(CookieInfoModel model) { if (!ModelState.IsValid) { return(View(model)); } // Deserialize var ciList = JsonConvert.DeserializeObject <List <CookieInfo> >(_privacySettings.CookieInfos); if (ciList == null) { ciList = new List <CookieInfo>(); } var cookieInfo = ciList .Select(x => x) .Where(x => x.Name.EqualsNoCase(model.Name)) .FirstOrDefault(); if (cookieInfo != null) { // Remove item if it's already there. ciList.Remove(x => x.Name.EqualsNoCase(cookieInfo.Name)); } cookieInfo = new CookieInfo { // TODO: Use MiniMapper CookieType = model.CookieType, Name = model.Name, Description = model.Description, SelectedStoreIds = model.SelectedStoreIds }; ciList.Add(cookieInfo); // Serialize _privacySettings.CookieInfos = JsonConvert.SerializeObject(ciList, Formatting.None); // Now apply & save again. await Services.Settings.ApplySettingAsync(_privacySettings, x => x.CookieInfos, 0); foreach (var localized in model.Locales) { await _localizedEntityService.ApplyLocalizedValueAsync(cookieInfo, x => x.Name, localized.Name, localized.LanguageId); await _localizedEntityService.ApplyLocalizedValueAsync(cookieInfo, x => x.Description, localized.Description, localized.LanguageId); } await _db.SaveChangesAsync(); return(View(model)); }
public static Session GetSessionData(CookieInfo cookieInfo) { if (cookieInfo != null) { return(GetSessionData(cookieInfo.SessionToken)); } else { return(null); } }
/// <summary> /// 验证登录 /// </summary> /// <returns></returns> public static CookieInfo Verification() { if (String.IsNullOrEmpty(Configer.HttpContext.Request.Headers["Token"].ToList().FirstOrDefault())) { return(null); } String Token = RSACryptionExtension.RSADecrypt(Configer.HttpContext.Request.Headers["Token"].ToString()); CookieInfo Cookie = CacheFactory.Cache().GetCache <CookieInfo>(Token); SystemInfoKey.PrivateKey = Cookie == null ? null : Cookie.SysKey; return(Cookie); }
/// <summary> /// 写入cookie /// </summary> /// <param name="Cookie"></param> public static void WriteToken <T>(CookieInfo Cookie, T DTOInfo) where T : class, new() { Cookie.Token = Guid.NewGuid().ToString(); Cookie.SysKey = Guid.NewGuid().ToString(); Cookie.ApiKey = RSACryptionExtension.RSAEncrypt(Configer.ApiKey + DateTime.Now.ToShortDateString()); CacheFactory.Cache().WriteCache(Cookie, Cookie.Token, 2); CacheFactory.Cache().WriteCache <T>(DTOInfo, Cookie.SysKey, 2); //将加密后的Token和Key回传给客服端 ResponseCookieInfo.RSAToKen = RSACryptionExtension.RSAEncrypt(Cookie.Token); ResponseCookieInfo.RSAApiKey = Cookie.ApiKey; ResponseCookieInfo.RSASysKey = RSACryptionExtension.RSAEncrypt(Cookie.SysKey); }
void IRequestInspector.OnPrologueReceived() { var prologue = _request.Prologue; _entry.Request.Method = prologue.Method; _entry.Request.Url = prologue.Destination; _entry.Request.HttpVersion = prologue.Version; var uri = new Uri(prologue.Destination, UriKind.RelativeOrAbsolute); _entry.Request.QueryString = new List <NameValuePairInfo>() { new NameValuePairInfo() { Name = "NotImplemented", Value = "Request.QueryString" } }; foreach (var pair in prologue.Headers) { if (pair.Key.ToLowerInvariant() == "cookie") { //http://www.nczonline.net/blog/2009/05/05/http-cookies-explained/ var text = pair.Value; var parts = text.Split(new char[] { ':' }, 2, StringSplitOptions.None); if (parts.Length == 1) { continue; } text = parts[1]; var cookieStrings = text.Split(new string[] { "; " }, StringSplitOptions.RemoveEmptyEntries); foreach (var cookieString in cookieStrings) { var cookieParts = cookieString.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); parts = cookieParts[0].Split(new char[] { '=' }, 2, StringSplitOptions.None); if (parts.Length < 2) { break; } var cookie = new CookieInfo() { Name = parts[0], Value = parts[1] }; _entry.Request.Cookies.Add(cookie); } //TODO: Parse Cookies } _entry.Request.Headers.Add(new NameValuePairInfo() { Name = pair.Key, Value = pair.Value }); } }
public ObjectResultEx GovtLogin(RequestGovtInfo Param) { try { var GovtAdmin = GovtWebService.GovtLogin(Param); string Code = string.Empty; if (!Param.IsApp) { Code = CacheFactory.Cache().GetCache <string>("ValidateCode").Trim(); if (GovtAdmin != null && Code.ToUpper().Equals(Param.ValidateCode.Trim().ToUpper())) { CookieInfo cookie = new CookieInfo(); VerificationExtension.WriteToken(cookie, GovtAdmin); return(ObjectResultEx.Instance(new { ResponseCookieInfo.RSAToKen, ResponseCookieInfo.RSAApiKey, ResponseCookieInfo.RSASysKey, GovtAdmin }, 1, RetrunMessge.SUCCESS, HttpCode.Success)); } else if (!Code.ToUpper().Equals(Param.ValidateCode.Trim().ToUpper())) { return(ObjectResultEx.Instance(null, -1, "验证码错误", HttpCode.NoAuth)); } else { return(ObjectResultEx.Instance(null, -1, "登录失败或账户冻结", HttpCode.NoAuth)); } } else { if (GovtAdmin != null) { CookieInfo cookie = new CookieInfo(); VerificationExtension.WriteToken(cookie, GovtAdmin); return(ObjectResultEx.Instance(new { ResponseCookieInfo.RSAToKen, ResponseCookieInfo.RSAApiKey, ResponseCookieInfo.RSASysKey, GovtAdmin }, 1, RetrunMessge.SUCCESS, HttpCode.Success)); } else if (GovtAdmin == null) { return(ObjectResultEx.Instance(null, -1, "请检查用户名和密码是否正确", HttpCode.NoAuth)); } else if (!Code.ToUpper().Equals(Param.ValidateCode.Trim().ToUpper())) { return(ObjectResultEx.Instance(null, -1, "验证码错误", HttpCode.NoAuth)); } else { return(ObjectResultEx.Instance(null, -1, "登录失败或账户冻结", HttpCode.NoAuth)); } } } catch (Exception) { return(ObjectResultEx.Instance(null, -1, "请输入验证码", HttpCode.FAIL)); } }
protected void lbtnLogout_Click(object sender, EventArgs e) { try { CookieInfo.getCookieLogout(); Response.Redirect("/BackOffice/AdminLogin.aspx", false); } catch (Exception ex) { #region [Error Logger] 로그인을 하는경우 //ErrorLogger_Tx_Dac.GetErrorLogger_Tx_Dac().TB_TOTABBS_ERROR_LOGGER_INFO_INS_SP(ex, admin.MemberId, admin.MemberId); #endregion } }
public ObjectResultEx SystemLogin(RequestValidate LoginValidate) { try { ResponseAdmin SysAdmin = SystemService.SystemLogin(LoginValidate); string Code = string.Empty; if (!LoginValidate.IsApp) { Code = CacheFactory.Cache().GetCache <string>("ValidateCode").Trim(); if (SysAdmin != null && Code.ToUpper().Equals(LoginValidate.ValidateCode.Trim().ToUpper())) { CookieInfo cookie = new CookieInfo(); VerificationExtension.WriteToken(cookie, SysAdmin); return(ObjectResultEx.Instance(new { ResponseCookieInfo.RSAToKen, ResponseCookieInfo.RSAApiKey, ResponseCookieInfo.RSASysKey, SysAdmin }, 1, RetrunMessge.SUCCESS, HttpCode.Success)); } else if (!Code.ToUpper().Equals(LoginValidate.ValidateCode.Trim().ToUpper())) { return(ObjectResultEx.Instance(null, -1, "验证码错误", HttpCode.NoAuth)); } else { return(ObjectResultEx.Instance(null, -1, "登录失败或账户冻结", HttpCode.NoAuth)); } } else { if (SysAdmin != null) { CookieInfo cookie = new CookieInfo(); VerificationExtension.WriteToken(cookie, SysAdmin); return(ObjectResultEx.Instance(new { ResponseCookieInfo.RSAToKen, ResponseCookieInfo.RSAApiKey, ResponseCookieInfo.RSASysKey, SysAdmin }, 1, RetrunMessge.SUCCESS, HttpCode.Success)); } else if (!Code.ToUpper().Equals(LoginValidate.ValidateCode.Trim().ToUpper())) { return(ObjectResultEx.Instance(null, -1, "验证码错误", HttpCode.NoAuth)); } else { return(ObjectResultEx.Instance(null, -1, "登录失败或账户冻结", HttpCode.NoAuth)); } } } catch (Exception) { return(ObjectResultEx.Instance(null, -1, "请输入验证码", HttpCode.FAIL)); } }
private static void RefreshCookie(CookieInfo info) { var compositeToken = Guid.NewGuid().ToString(); var compositeEwName = info.EarthwatcherName; var compositeEwRole = string.Join(",", info.Roles); var expiresOn = info.KeepLogged ? DateTime.UtcNow.AddDays(15) : DateTime.UtcNow.AddMinutes(30); var compositeExpiresOn = expiresOn.ToString(); string composite = string.Format("{0}|{1}|{2}|{3}|{4}", compositeToken, compositeEwName, compositeEwRole, compositeExpiresOn, info.KeepLogged); string strToken = TextEncrytion.EncryptString(composite, Session.secretKey); HttpCookie cookie = new HttpCookie(Session.TOKENKEY); cookie.Value = strToken; cookie.HttpOnly = false; cookie.Expires = expiresOn; System.Web.HttpContext.Current.Response.Cookies.Set(cookie); }
void IResponseInspector.OnPrologueReceived() { var prologue = _response.Prologue; _entry.Response.HttpVersion = prologue.Version; _entry.Response.Status = (int)prologue.StatusCode; _entry.Response.StatusText = prologue.StatusDescription; foreach (var pair in prologue.Headers) { if (pair.Key.ToLowerInvariant() == "cookie") { //http://www.nczonline.net/blog/2009/05/05/http-cookies-explained/ var text = pair.Value; var parts = text.Split(new char[] { ':' }, 2, StringSplitOptions.None); if (parts.Length == 1) { continue; } text = parts[1]; var cookieStrings = text.Split(new string[] { "; " }, StringSplitOptions.RemoveEmptyEntries); foreach (var cookieString in cookieStrings) { var cookieParts = cookieString.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); parts = cookieParts[0].Split(new char[] { '=' }, 2, StringSplitOptions.None); if (parts.Length < 2) { break; } var cookie = new CookieInfo() { Name = parts[0], Value = parts[1] }; _entry.Response.Cookies.Add(cookie); } //TODO: Parse Cookies } _entry.Response.Headers.Add(new NameValuePairInfo() { Name = pair.Key, Value = pair.Value }); } }
void IRequestInspector.OnPrologueReceived() { var prologue = _request.Prologue; _entry.Request.Method = prologue.Method; _entry.Request.Url = prologue.Destination; _entry.Request.HttpVersion = prologue.Version; var uri = new Uri(prologue.Destination, UriKind.RelativeOrAbsolute); _entry.Request.QueryString = new List<NameValuePairInfo>() { new NameValuePairInfo(){Name="NotImplemented", Value="Request.QueryString"} }; foreach (var pair in prologue.Headers) { if (pair.Key.ToLowerInvariant() == "cookie") { //http://www.nczonline.net/blog/2009/05/05/http-cookies-explained/ var text = pair.Value; var parts = text.Split(new char[] {':'}, 2, StringSplitOptions.None); if (parts.Length == 1) continue; text = parts[1]; var cookieStrings = text.Split(new string[] {"; "}, StringSplitOptions.RemoveEmptyEntries); foreach (var cookieString in cookieStrings) { var cookieParts = cookieString.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries); parts = cookieParts[0].Split(new char[] {'='}, 2, StringSplitOptions.None); if (parts.Length < 2) break; var cookie = new CookieInfo() { Name = parts[0], Value = parts[1] }; _entry.Request.Cookies.Add(cookie); } //TODO: Parse Cookies } _entry.Request.Headers.Add(new NameValuePairInfo(){Name=pair.Key,Value=pair.Value}); } }
/// <summary> /// Gets CookieInfos for display in CookieManager dialog. /// </summary> /// <returns>CookieInfo containing plugin name, cookie purpose description & cookie type</returns> public IEnumerable <CookieInfo> GetCookieInfo() { var widget = _widgetService.LoadWidgetBySystemName("SmartStore.GoogleAnalytics"); if (!widget.IsWidgetActive(_widgetSettings)) { return(null); } var cookieInfo = new CookieInfo { Name = _localizationService.GetResource("Plugins.FriendlyName.SmartStore.GoogleAnalytics"), Description = _localizationService.GetResource("Plugins.Widgets.GoogleAnalytics.CookieInfo"), CookieType = CookieType.Analytics }; return(new List <CookieInfo> { cookieInfo }); }
public CookieInfo User_GetCookie(int userID) { if (!CheckClient()) { return(null); } CookieInfo cookie = new CookieInfo(); AuthUser user = UserBO.Instance.GetAuthUser(userID); if (user != null) { cookie.Value = UserBO.Instance.EncodeCookie(userID, user.Password); cookie.Name = UserBO.cookieKey_User; cookie.Domain = CookieUtil.CookieDomain; return(cookie); } return(null); }
public IEnumerable <CookieInfo> GetCookieInfo() { var isActive = _paymentService.Value.IsPaymentMethodActive("Payments.PayPalPlus", _services.StoreContext.CurrentStore.Id); if (!isActive) { return(null); } var cookieInfo = new CookieInfo { Name = _services.Localization.GetResource("Plugins.FriendlyName.Widgets.PayPal"), Description = _services.Localization.GetResource("Plugins.SmartStore.PayPal.CookieInfo"), CookieType = CookieType.Required }; return(new List <CookieInfo> { cookieInfo }); }
/// <summary> /// Gets CookieInfos for display in CookieManager dialog. /// </summary> /// <returns>CookieInfo containing plugin name, cookie purpose description & cookie type</returns> public IEnumerable <CookieInfo> GetCookieInfo() { var widget = _widgetService.LoadWidgetBySystemName("Widgets.AmazonPay"); if (!widget.IsWidgetActive(_widgetSettings)) { return(null); } var cookieInfo = new CookieInfo { Name = _services.Localization.GetResource("Plugins.FriendlyName.Widgets.AmazonPay"), Description = _services.Localization.GetResource("Plugins.Payments.AmazonPay.CookieInfo"), CookieType = CookieType.Required }; return(new List <CookieInfo> { cookieInfo }); }
protected void btnLogin_Click(object sender, EventArgs e) { try { Login_NTx_Dac oView = new Login_NTx_Dac(); string strTxtLoginId = string.Empty; string strTxtLoginPw = string.Empty; if (Request.Form["TxtLoginId"] != null) { strTxtLoginId = Request.Form["TxtLoginId"].ToString(); } if (Request.Form["TxtLoginPw"] != null) { strTxtLoginPw = Request.Form["TxtLoginPw"].ToString(); } LoginBean Bean = oView.TOTALBBS_ADMIN_SEL(strTxtLoginId, strTxtLoginPw); if (!string.IsNullOrEmpty(Bean.strAdminId) && Bean.chrCheckLogin.Equals("0")) { CookieInfo AdminInfo = new CookieInfo(); CookieInfo.setAdminCookieSetting(Bean, ".totalbbs.com"); StringBuilder sbLoginOk = new StringBuilder(); sbLoginOk.Append("alert('" + LoginBeen + "');"); sbLoginOk.Append("location.href=\"/BackOffice/Board/BoardList.aspx\""); this.LoginOK_Process(sbLoginOk); } } catch (Exception ex) { StringBuilder sbLoginError = new StringBuilder(); sbLoginError.Append("alert('" + LoginFailed + "');"); ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "LoginError", sbLoginError.ToString(), true); return; } }
public ObjectResultEx Login(RequestGovtInfo Param) { try { var GovtAdmin = GovtWebService.GovtLogin(Param); string Code = string.Empty; if (GovtAdmin != null) { CookieInfo cookie = new CookieInfo(); VerificationExtension.WriteToken(cookie, GovtAdmin); return(ObjectResultEx.Instance(new { ResponseCookieInfo.RSAToKen, ResponseCookieInfo.RSAApiKey, ResponseCookieInfo.RSASysKey, GovtAdmin }, 1, RetrunMessge.SUCCESS, HttpCode.Success)); } else { return(ObjectResultEx.Instance(null, -1, "登录失败或账户冻结", HttpCode.NoAuth)); } } catch (Exception) { return(ObjectResultEx.Instance(null, -1, "请检查账号和密码是否正确", HttpCode.FAIL)); } }
private void WriteCookie(int id) { var cookieInfo = new CookieInfo { UserId = id }; var version = 1; var name = id.ToString(); var expire = DateTime.Now.AddDays(30); var userData = JsonConvert.SerializeObject(cookieInfo); var ticket = new FormsAuthenticationTicket(version, name, DateTime.Now, expire, true, userData); var cookieName = ConfigurationManager.AppSettings["AdminAuthCookieName"]; var domain = ConfigurationManager.AppSettings["CookieDomain"].ToString(); var value = FormsAuthentication.Encrypt(ticket); HttpCookie cookie = new HttpCookie(cookieName) { Domain = domain, Value = value, Expires = expire, }; Response.Cookies.Add(cookie); }
public static CookieInfo GetCookieInfo() { CookieInfo info = new CookieInfo(); try { HttpCookie cookie = System.Web.HttpContext.Current.Request.Cookies[Session.TOKENKEY]; if (cookie == null) { return(info); } string cookieCompositeValue = cookie.Value; string composite = TextEncrytion.DecryptString(cookieCompositeValue, Session.secretKey); string[] compositeValues = composite.Split('|'); info.LoginToken = new Guid(compositeValues[0]); info.EarthwatcherName = compositeValues[1]; info.Roles = compositeValues[2].Split(','); info.ExpiresOn = DateTime.Parse(compositeValues[3]); info.KeepLogged = Convert.ToBoolean(compositeValues[4]); if ((DateTime.UtcNow - info.ExpiresOn).Minutes > 1) { //Borrar cookie DeleteCookie(); return(new CookieInfo()); } else { RefreshCookie(info); } } catch { } return(info); }
public static CookieInfo GetCookieData(System.Web.HttpRequest request, bool checkURL = false) { CookieInfo result = null; if (checkURL == true) { string bopSession = null; if (request.UrlReferrer.AbsoluteUri.Contains("=")) { bopSession = request.UrlReferrer.AbsoluteUri.Substring(request.UrlReferrer.AbsoluteUri.IndexOf('=') + 1); } //string bopSession = request[GetCookieName()]; if (bopSession != null) { result = GetCookieData(bopSession); } else { result = null; } } else { Boolean isCookiePresent = IsCookiePresent(request, GetCookieName()); if (isCookiePresent == true) { var cookie = request.Cookies.Get(GetCookieName()); result = GetCookieData(cookie); } else { result = null; } } return(result); }
void IResponseInspector.OnPrologueReceived() { var prologue = _response.Prologue; _entry.Response.HttpVersion = prologue.Version; _entry.Response.Status = (int)prologue.StatusCode; _entry.Response.StatusText = prologue.StatusDescription; foreach (var pair in prologue.Headers) { if (pair.Key.ToLowerInvariant() == "cookie") { //http://www.nczonline.net/blog/2009/05/05/http-cookies-explained/ var text = pair.Value; var parts = text.Split(new char[] { ':' }, 2, StringSplitOptions.None); if (parts.Length == 1) continue; text = parts[1]; var cookieStrings = text.Split(new string[] { "; " }, StringSplitOptions.RemoveEmptyEntries); foreach (var cookieString in cookieStrings) { var cookieParts = cookieString.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); parts = cookieParts[0].Split(new char[] { '=' }, 2, StringSplitOptions.None); if (parts.Length < 2) break; var cookie = new CookieInfo() { Name = parts[0], Value = parts[1] }; _entry.Response.Cookies.Add(cookie); } //TODO: Parse Cookies } _entry.Response.Headers.Add(new NameValuePairInfo() { Name = pair.Key, Value = pair.Value }); } }
public static CookieInfo GetCookieInfo() { CookieInfo info = new CookieInfo(); try { HttpCookie cookie = System.Web.HttpContext.Current.Request.Cookies[Session.TOKENKEY]; if (cookie == null) return info; string cookieCompositeValue = cookie.Value; string composite = TextEncrytion.DecryptString(cookieCompositeValue, Session.secretKey); string[] compositeValues = composite.Split('|'); info.LoginToken = new Guid(compositeValues[0]); info.EarthwatcherName = compositeValues[1]; info.Roles = compositeValues[2].Split(','); info.ExpiresOn = DateTime.Parse(compositeValues[3]); info.KeepLogged = Convert.ToBoolean(compositeValues[4]); if ((DateTime.UtcNow - info.ExpiresOn).Minutes > 1) { //Borrar cookie DeleteCookie(); return new CookieInfo(); } else { RefreshCookie(info); } } catch { } return info; }
/// <summary> /// 用于单点登录判断,并执行响应动作 /// </summary> /// <returns></returns> public static bool CheckLoginStatus() { bool flag = true; string redirect = null; Dictionary <long, CookieInfo> dict = HttpContext.Current.Application["CookieCache"] as Dictionary <long, CookieInfo>; long userKey = Utility.GetLoginUserKey(); if (userKey == 0) { //跳转登录页 redirect = "/home/login"; flag = false; //if (!CanAnonymous()) //{ // //跳转登录页 // redirect = "/home/login?ReturnUrl=" + HttpUtility.UrlEncode(HttpContext.Current.Request.RawUrl); // flag = false; //} } else { if (!dict.ContainsKey(userKey)) { Utility.ClearCookie(Utility.LoginCookieName); //跳转登录页 redirect = "/home/login"; flag = false; //if (!CanAnonymous()) //{ // //跳转登录页 // redirect = "/home/login?ReturnUrl=" + HttpUtility.UrlEncode(HttpContext.Current.Request.RawUrl); // flag = false; //} } else { CookieInfo ci = dict[userKey]; if (ci.ValidKey == Utility.GetCookieKey()) { HttpContext.Current.Application.Lock(); ci.LastTime = DateTime.Now; UpdateLoginCookieTime(); HttpContext.Current.Application.UnLock(); } else { //跳转登录页 Utility.ClearCookie(Utility.LoginCookieName); //跳转登录页 redirect = "/home/login"; flag = false; //if (!CanAnonymous()) //{ // //跳转登录页 // redirect = "/home/login?ReturnUrl=" + HttpUtility.UrlEncode(HttpContext.Current.Request.RawUrl); // flag = false; //} } } } if (redirect != null) { Utility.Redirect(HttpContext.Current.Response, redirect); } return(flag); }
/// <summary> /// 设置登录 /// </summary> /// <param name="user"></param> public static int SetLogin(UserEntity user) { //Utility.SetUserRight(user, user.RoleKey); //Utility.SetUserObjKey(user); int result = 1; HttpContext.Current.Response.Clear(); HttpContext.Current.Response.BufferOutput = true; //先删除Cookie ClearCookie(LoginCookieName); //再新建Cookie HttpCookie cookie = CreateCookie(LoginCookieName); cookie.Expires = DateTime.Now.AddMinutes(CommonConfig.Current.LoginCookieVaildTime); cookie.Values.Add("user_key", user.RowKey.ToString()); //cookie.Values.Add("role_key", user.RoleKey.ToString()); //cookie.Values.Add("role_kind", user.RoleKind); //cookie.Values.Add("areas", user.AttachPropDict["areas"]); //cookie.Values.Add("menus", user.AttachPropDict["menus"]); //cookie.Values.Add("obj_key", user.AttachPropDict["obj_key"]); cookie.Values.Add("nick_name", HttpUtility.UrlEncode(user.NickName)); cookie.Values.Add("head_img", HttpUtility.UrlEncode(user.HeadImg)); cookie.Values.Add("cookie_key", Guid.NewGuid().ToString()); HttpContext.Current.Response.AppendCookie(cookie); Dictionary <long, CookieInfo> dict = HttpContext.Current.Application["CookieCache"] as Dictionary <long, CookieInfo>; if (!dict.ContainsKey(user.RowKey)) { CookieInfo ci = new CookieInfo(); ci.UserKey = user.RowKey; ci.ValidKey = Utility.GetCookieKey(); ci.LastTime = DateTime.Now; HttpContext.Current.Application.Lock(); dict[user.RowKey] = ci; HttpContext.Current.Application.UnLock(); //if (dict.Count < CommonConfig.Current.MaxOnlineUser) //{ // HttpContext.Current.Application.Lock(); // dict[user.RowKey] = ci; // HttpContext.Current.Application.UnLock(); //} //else //{ // ClearCookie(LoginCookieName); // result = 1006; //} } else { HttpContext.Current.Application.Lock(); CookieInfo ci = dict[user.RowKey]; ci.ValidKey = Utility.GetCookieKey(); ci.LastTime = DateTime.Now; dict[user.RowKey] = ci; HttpContext.Current.Application.UnLock(); } return(result); }
public string get_cookie_info(CookieInfo info) { return(_cookies.Get(CookieName).Value); }
public string get_cookie_info(CookieInfo info) { return _cookies.Get(CookieName).Value; }