/// <summary> /// 用户登陆(分站点使用) /// </summary> /// <param name="UserName">用户名</param> /// <param name="PWD">密码(密码为空时,直接获取已登录用户信息)</param> /// <param name="Token">登录票据</param> public bool RemoteUserLogin(string UserName, string PWD, string Token) { EyouSoft.SSOComponent.Entity.SSOResponse response = null; if (PWD != string.Empty) { response = new EyouSoft.SSOComponent.Remote.UserLogin().UserLoginPassword(UserName, PWD, Token, PasswordType.MD5); } else { response = new EyouSoft.SSOComponent.Remote.UserLogin().GetTicketUser(UserName, Token); } if (response.IsValid) { EyouSoft.SSOComponent.Entity.UserInfo User = response.UserInfo; if (User == null) { return(false); } else { return(true); } } else { return(false); } }
/// <summary> /// 退出当前用户,并跳转到指定的页面。 /// </summary> /// <param name="url">指定退出后要跳转的页面地址</param> private static void Logout(string url) { EyouSoft.SSOComponent.Entity.SSOResponse response = new EyouSoft.SSOComponent.Remote.UserLogin().UserLogout(GetCookie_U(), ""); string domainSuffix = Utils.GetDomainSuffix(Utils.AbsoluteWebRoot); System.Web.HttpCookie cookies = new HttpCookie(LoginCookie_SSO); if (!String.IsNullOrEmpty(domainSuffix)) { cookies.Domain = domainSuffix; } cookies.HttpOnly = true; cookies.Expires = DateTime.Now.AddDays(-1); HttpContext.Current.Response.AppendCookie(cookies); if (string.IsNullOrEmpty(url)) { RedirectLogin(); } else { HttpContext.Current.Response.Redirect(url, true); } }
/// <summary> /// API用户登陆 /// </summary> /// <param name="UserName">用户名</param> /// <param name="PWD">密码</param> /// <param name="PwdType">密码类型</param> public void APIUserLogin(string UserName, string PWD, PasswordType PwdType) { EyouSoft.SSOComponent.Entity.DecryptLoginTicket LoginTicket = new EyouSoft.SSOComponent.Entity.DecryptLoginTicket(); LoginTicket.ExpireTime = DateTime.Now.AddHours(TicketExpireTime); LoginTicket.UserName = UserName; string strLoginTicket = CreateLoginTicket(LoginTicket); EyouSoft.SSOComponent.Entity.SSOResponse response = new EyouSoft.SSOComponent.Remote.UserLogin().UserLoginPassword(UserName, PWD, strLoginTicket, PwdType); if (response != null) { if (!response.IsValid) { return; } EyouSoft.SSOComponent.Entity.UserInfo User = response.UserInfo; HttpCookie hc = new HttpCookie(UserCookieName); hc.Values.Add("UID", crypto.DESEncrypt(User.ID.ToString())); hc.Values.Add("LoginTicket", strLoginTicket); hc.Domain = "asdf"; HttpContext.Current.Response.Cookies.Add(hc); } }
/// <summary> /// 获取用户信息 /// </summary> /// <returns></returns> public EyouSoft.SSOComponent.Entity.UserInfo GetUser() { EyouSoft.SSOComponent.Entity.LocalUserInfo LocalUser = GetLoginTicket(TicketType.UserCookieName); if (LocalUser == null) { return(null); } if (LocalUser.DecryptLoginTicket.ExpireTime > DateTime.Now) { return(null); } EyouSoft.SSOComponent.Entity.UserInfo User = new EyouSoft.SSOComponent.Remote.UserLogin().GetUserInfo(LocalUser.UID); if (ValidateUser(User)) { return(User); } else { return(null); } }
/// <summary> /// 用户退出 /// </summary> public void UserLogout() { EyouSoft.SSOComponent.Entity.UserInfo User = GetUser(); EyouSoft.SSOComponent.Entity.SSOResponse response = new EyouSoft.SSOComponent.Remote.UserLogin().UserLogout(User.ID, RedirectUrl); }
/// <summary> /// 获取用户信息 /// </summary> /// <returns></returns> public static EyouSoft.SSOComponent.Entity.UserInfo GetUser(string userName) { EyouSoft.SSOComponent.Entity.SSOResponse response = new EyouSoft.SSOComponent.Remote.UserLogin().GetUserInfo(userName); return(response.UserInfo); }
/// <summary> /// 获取用户信息 /// </summary> /// <returns></returns> public static EyouSoft.SSOComponent.Entity.UserInfo GetUser() { EyouSoft.SSOComponent.Entity.SSOResponse response = new EyouSoft.SSOComponent.Remote.UserLogin().GetUserInfo(GetCookie_U()); return(response.UserInfo); }