public ActionResult SignIn(LoginModel model, string returnUrl) { if (ModelState.IsValid) { try { var userLoginInfo = BLLAccount.Instance.FindAccount(App_Global.AppGlobal.Connectionstring, model.LoginName, model.Password); if (userLoginInfo != null) { string avatar = userLoginInfo.Data1 as string; var login = new BaseLoginInformation() { UserId = userLoginInfo.Id, LoginName = userLoginInfo.Code, FullName = userLoginInfo.Name, Roles = new List <string>(), Avatar = (!string.IsNullOrEmpty(avatar) ? avatar : "") }; switch (userLoginInfo.Data) { case (int)UserRole.Admin: login.Roles.Add(UserRoleConstant.Admin); break; case (int)UserRole.Member: login.Roles.Add(UserRoleConstant.Member); break; } AddAuthentication(login, model.RememberMe); return(RedirectToLocal(returnUrl)); } else { return(View(model)); } } catch (Exception ex) { throw ex; // dc50Exception.AddToModelState(ModelState); return(View(model)); } } else { return(View(model)); } }
private void AddAuthentication(BaseLoginInformation baseLoginInformation, bool rememberMe) { if (baseLoginInformation.Roles.Contains(UserRoleConstant.Contractor)) { //var contractorLoginInfor = _userService.GetContractorLogin(baseLoginInformation); //contractorLoginInfor.UserId = baseLoginInformation.UserId; //_iDC50AuthenticationService.AddAuthentication<ContractorLoginInformation>(Response, rememberMe, contractorLoginInfor); } else if (baseLoginInformation.Roles.Contains(UserRoleConstant.Member)) { // var memberLoginInfor = _userService.GetMemberLogin(baseLoginInformation); // memberLoginInfor.UserId = baseLoginInformation.UserId; FormAuthenticationService.Instance.AddAuthentication <MemberLoginInformation>(Response, rememberMe, new MemberLoginInformation() { UserId = baseLoginInformation.UserId, LoginName = baseLoginInformation.LoginName, FullName = baseLoginInformation.FullName, Roles = baseLoginInformation.Roles, Avatar = baseLoginInformation.Avatar }); } else { FormAuthenticationService.Instance.AddAuthentication <BaseLoginInformation>(Response, rememberMe, baseLoginInformation); } }