public void PasswordChange(BaseUser model, string newPassword) { var bl = BLLFactory.Create <IBaseUserBL>(); model.UserPWD = newPassword; bl.Update(model); }
private static void ConfigAuthSession(BaseUser user, WeatherClientType clientType) { // clean all existing Cache //Mobizone.TSIC.Cache.DataCache.RemoveAllCacheBySession(); var session = SessionFactory.Create <IBLSessionPersisiter>(); var clientSession = SessionFactory.Create <IClientSessionPersisiter>(); session.RemoveSession(); clientSession.RemoveSession(); IBaseUserBL bl = BLLFactory.Create <IBaseUserBL>(); session.UserID = user.ID; session.BaseEmployee = user.BASE_EMPLOYEE; session.ProdType = 1; //登录成功默认PND //var division = BLLFactory.Create<IBaseDictBL>().GetItemNameByCached(BaseDictType.DictTypeDivision,user.BaseEmployee.DIVISION); //if(division == BaseDictType.DivisionTypeMND) { // session.ProdType = 2; //} clientSession.ClientType = clientType; //session.UserType = user.UserType; session.Roles = ExpendRole(bl.GetUserRoles(user.ID)); // load all the role //// Data Auth //var orgBL = BLLFactory.Create<IBaseOrgBL>(); ISet <decimal> authOrg = new HashSet <decimal>(); //var splitDate = DateTime.Parse("2012-03-07 03:00:00"); //if(user.Updated == null || user.Updated < splitDate) { // // 老式的ETMS授权 // authOrg = orgBL.FilterAbtCityOrgByCached(user.OrgAuth); //} else { // authOrg = orgBL.ExpendOrgToAbtCityByCached(user.OrgAuth); //} //var userOrg = user.BaseEmployee.OrgID; //if(null != userOrg) { // authOrg.Add(userOrg.Value); // //展开到城市一级 // session.DataCenterCityAuth = orgBL.ExpendOrgToCenterCityByCached(userOrg.Value); //} //// Data Auth: PGS 自动授权 所有PG所在雅培城市 //if(session.Roles.Contains(WeatherRole.PGM_PGS)) { // var empBL = BLLFactory.Create<IBaseEmployeeBL>(); // var orgs = empBL.GetChildAbtCityBind(session.BaseEmployee.ID); // authOrg.AddAll(orgs); //} session.DataOrgAuth = authOrg; }
/// <summary> /// 准备计算数据 /// 加载一些外部数据,如商店名 /// </summary> protected override void PrepareCompute() { base.PrepareCompute(); log.Info("PrepareCompute:"); cityBL = BLLFactory.Create <IWeatherCityBL>(UnitOfWork); forecastBL = BLLFactory.Create <IWeatherDailyForecastBL>(UnitOfWork); CityList = cityBL.GetAllCity().Select(i => i.CityCode).Take(2000).ToList(); //将当前日期以后的数据无效 DateTime dt = System.DateTime.Now.Date; DisableByDate(dt); }
/* * public bool SetAuthSessionInWeb(string username, string password) { * var bl = BLLFactory.Create<IBaseUserBL>(); * var user = bl.GetUserInWeb(username, password); * if (null == user) { * return false; * } * ConfigAuthSession(user); * return true; * } * * * public bool SetAuthSessionInWap(string username, string password) { * var bl = BLLFactory.Create<IBaseUserBL>(); * var user = bl.GetUserInWap(username, password); * if (null == user) { * return false; * } * ConfigAuthSession(user); * return true; * }*/ public bool SetAuthSession(string username, string password, WeatherClientType clientType, string[] loginOnlyIfRole = null, string[] extrRoles = null) { var bl = BLLFactory.Create <IBaseUserBL>(); var user = bl.GetUserInWeb(username, password); if (null == user) { return(false); } ConfigAuthSession(user, clientType); var session = SessionFactory.Create <IBLSessionPersisiter>(); if (loginOnlyIfRole != null) { var identity = new WeatherIdentity(session.UserID); if (loginOnlyIfRole.All(role => !this.UserInRole(identity, role))) { RemoveSession(); return(false); } } //string type = UserLog.LoginClientTypeWap; //switch (clientType) { // case WeatherClientType.Wap: // type = UserLog.LoginClientTypeWap; // break; // case WeatherClientType.Web: // type = UserLog.LoginClientTypeWeb; // break; // case WeatherClientType.iPhone: // type = UserLog.LoginClientTypeiPhone; // break; // case WeatherClientType.Android: // type = UserLog.LoginClientTypeAndroid; // break; //} if (extrRoles != null) { session.Roles.AddAll(extrRoles); } //Bus.ServiceBus.Publish(new Bus.Messages.LoginMsg() { // EmpID = (int)session.BaseEmployee.ID, // Time = Util.RPCNow, // ClientType = type, //}); return(true); }
public bool HandleUnauthorizedRequest(AuthorizationContext filterContext) { if (!IsWeChat) { filterContext.Result = RedirectToAction("Login", "WapAccount", new { area = "Wap" }); return(false); } else { var Flag_MockUserId = ConfigurationManager.AppSettings[BaseDictType.MockUserId]; string CorpID = ConfigurationManager.AppSettings[BaseDictType.WeChatCorpId]; string Host = ConfigurationManager.AppSettings[BaseDictType.WeChatCorpHost]; string test = null;// ConfigurationManager.AppSettings[BaseDictType.CRMTest]; if (!string.IsNullOrEmpty(Flag_MockUserId) && !string.IsNullOrEmpty(test)) { AuthorizationService.SetAuthSession(int.Parse(Flag_MockUserId)); return(true); } log.Info("sessionID:" + Session.SessionID); var wechat = new WeChatOAuth(); var empCode = wechat.TryGetOpenIdFromOAuthState(CorpID, Session.SessionID); log.Info("empCode=" + empCode); if (!string.IsNullOrEmpty(empCode)) { var empBL = BLLFactory.Create <IBaseEmployeeBL>(); var emp = empBL.GetEmployeeByCode(empCode); if (emp == null) { return(false); } var userBL = BLLFactory.Create <IBaseUserBL>(); BaseUser user = null; if (!string.IsNullOrEmpty(Flag_MockUserId)) { user = userBL.GetUser(int.Parse(Flag_MockUserId)); } else { user = userBL.GetUser(emp.ID); } AuthorizationService.SetAuthSession((int)user.ID); filterContext.Result = Redirect(Request.Url.ToString()); return(true); } var url = wechat.GetOAuthRedirectUrl(Session.SessionID, Request.Url.ToString(), Host, CorpID); filterContext.Result = Redirect(url); return(true); } }
public bool SetAuthSession(int userID, WeatherClientType clientType = WeatherClientType.Wap, string[] extrRoles = null) { var bl = BLLFactory.Create <IBaseUserBL>(); var user = bl.GetUserByID(userID); if (null == user) { return(false); } ConfigAuthSession(user, clientType); if (extrRoles != null) { var session = SessionFactory.Create <IBLSessionPersisiter>(); session.Roles.AddAll(extrRoles); } return(true); }
public ActionResult Login(LoginModel model) { if (!ValidationCodeGenerator.ValidateCode(model.ValidationCode)) { ModelState.AddModelError("ValidationCode", "验证码错误"); } if (ModelState.IsValid) { var u = BLLFactory.Create <IBaseUserBL>(); //var user = sqldb.BASE_USER.Where(i => i.State == "1" && i.UserAccount == model.Account && i.UserPWD == model.PassWord).FirstOrDefault(); var user = u.GetUserInWeb(model.Account, model.PassWord); if (user != null) { if (!string.IsNullOrEmpty(model.RememberMe)) { var account = Response.Cookies["RememberMe"]; if (account == null) { account = new HttpCookie("RememberMe"); } account.Value = model.Account; account.Expires = DateTime.Now.AddMonths(1); Response.SetCookie(account); } else { var account = Response.Cookies["RememberMe"]; if (account != null) { account.Expires = DateTime.Now.AddMonths(-1); Response.SetCookie(account); } } if (u.SetAuthSession(model.Account, model.PassWord, WeatherClientType.Web)) { return(RedirectToAction("index", "Dashboard", new { Area = "Admin" })); } } ModelState.AddModelError("PassWord", "用户名或密码错误"); } return(View(model)); }
public override void OnAuthorization(System.Web.Http.Controllers.HttpActionContext actionContext) { var controller = actionContext.ControllerContext.Controller as TSICApiController; if (null == controller) { return; } controller.AuthorizationService = new TSICAuthorizationService(); var session = SessionFactory.Create <IBLSessionPersisiter>(); // 尝试使用Token登录 //if (Configuration.IsDevMode) { if (actionContext.Request.Headers.Contains(TSICConstant.HeaderToken)) { string tokenId = actionContext.Request.Headers.GetValues(TSICConstant.HeaderToken).FirstOrDefault(); var tokenBL = BLLFactory.Create <IUserTokenBL>(); var token = tokenBL.GetToken(tokenId); // 如果用户不一致,以新用户登录 if (token != null && token.UserID != session.UserID) { if (controller.AuthorizationService.SetAuthSession(token.UserID, (TSICClientType)token.ClientType)) { var clientSession = SessionFactory.Create <IClientSessionPersisiter>(); clientSession.ClientVersion = token.ClientVersion; } } } //} var user = new TSICPrincipal( new TSICIdentity(session.UserID), controller.AuthorizationService); System.Threading.Thread.CurrentPrincipal = user; HttpContext.Current.User = user; base.OnAuthorization(actionContext); }
public ActionResult MyLogin(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } var bll = BLLFactory.Create <I房屋租赁表BL>(); var query = bll.QueryAll(); var user = BLLFactory.Create <IBASE_USERBL>().GetByAccount(model.name, model.Password); if (user != null) { BLSessionPersisiter session = new BLSessionPersisiter(); session.UserID = user.Emp_ID.Value; session.UserName = user.UserAccount; return(RedirectToLocal(returnUrl)); } else { ModelState.AddModelError("", "无效的登录尝试。"); return(View(model)); } }
public BaseUser GetPasswordByUserAccountAndMobilePhone(string username, string empName, string mobilephone) { var bl = BLLFactory.Create <IBaseUserBL>(); return(bl.GetPasswordByUserAccountAndMobilePhone(username, empName, mobilephone)); }
public BaseUser ValidUser(string username, string password, string userType) { var bl = BLLFactory.Create <IBaseUserBL>(); return(bl.GetUserByType(username, password, userType)); }
/// <summary> /// 准备计算数据 /// 加载一些外部数据,如商店名 /// </summary> protected override void PrepareCompute() { base.PrepareCompute(); bl = BLLFactory.Create <IWeatherCityBL>(UnitOfWork); AllCityDict = bl.GetAllCity().ToDictionary(i => i.CityCode.Trim(), i => i); }
public static decimal?ParseEmpType(string type) { var rst = BLLFactory.Create <IBaseDictBL>().GetItemIDByCached(BaseDictType.DictTypeEmpType, type); return(rst >= 0 ? (decimal?)rst : null); }
public static string EmpTypeToString(decimal?empType) { return(BLLFactory.Create <IBaseDictBL>().GetItemNameByCached(BaseDictType.DictTypeEmpType, empType ?? -1)); }