/// <summary> /// 主登录的方法,根据UserType的配置来选择是MF用户登录,还是域账户登录,注:MF登录选择数据库中的服务器进行登录,默认选择第一个 /// </summary> public static UserLoginModel Login(string userName, string password, bool isDomainUser, UserManager <User, long> userManager , IVaultServerService serverServ, IMFUserService mfuserServ, IUserService userService) { var model = new UserLoginModel(); var userInfo = Login(userName, password, isDomainUser, serverServ, mfuserServ); if (userInfo == null) { model.Error = userName + ":" + "无效用户或密码!"; return(model); } Log.Info("用户登录信息:" + userInfo.Fullname + "; " + userInfo.Email); var user = userManager.FindByName(userName); if (user == null) { var domain = String.Empty; if (isDomainUser) { domain = ConfigurationManager.AppSettings["Domain"] ?? String.Empty; } var userModel = CreateUser(userManager, userService, userName, userInfo.Email, isDomainUser, domain, userInfo.Fullname); if (userModel.User == null) { model.Error = userModel.Error + ":" + userModel.ErrorDescription; return(model); } user = userModel.User; } if (user == null) { model.Error = userName + ": 未知错误!"; return(model); } var needUpdate = false; if (userInfo.Fullname != user.FullName) { user.FullName = userInfo.Fullname; needUpdate = true; } if (userInfo.Email != user.Email) { user.Email = userInfo.Email; needUpdate = true; } model.User = user; if (needUpdate) { Log.Info("更新用户信息:" + user.FullName + "; " + user.Email); userManager.Update(user); } return(model); }
public AccountController(UserManager <User, long> userManager, SignInManager <User, long> signInManager, IAuthenticationManager authManager, IUserService userService , IUserVaultService uservaultService, IRepository <MFilesVault> vaultRepository, IMFilesVaultService mfvaultService , ICloudService cloudService, IVaultTemplateService vaultTemplateService, IProjectService projService, IProjectMemberService projectMemberService , IVaultServerService vaultserverService, IMFUserService mfuserService, IMFVaultService vaultService) //IUserCloudService usercloudService, : base(authManager, signInManager, userManager) { _userService = userService; //_usercloudService = usercloudService; _uservaultService = uservaultService; _cloudService = cloudService; _vaultTemplateService = vaultTemplateService; _projService = projService; _projectMemberService = projectMemberService; _mfvaultService = mfvaultService; _vaultserverService = vaultserverService; _mfuserService = mfuserService; _vaultService = vaultService; _vaultRepository = vaultRepository; }
private static UserInfo Login(string userName, string password, bool isDomainUser, IVaultServerService serverServ, IMFUserService mfuserServ) { if (isDomainUser) { return(Login2ActiveDirectory(userName, password)); } var server = serverServ.GetServer(); var ok = mfuserServ.ConnectToServer(userName, password, server, false); if (!ok) { return(null); } return(mfuserServ.GetUserInfo(server, userName)); }