public AddUserResponse AddUser(AddUserRequest request) { Platform.CheckForNullReference(request, "request"); Platform.CheckMemberIsSet(request.UserDetail, "UserDetail"); var userDetail = request.UserDetail; var settings = new AuthenticationSettings(); // create new user var userInfo = new UserInfo(userDetail.UserName, userDetail.DisplayName, userDetail.EmailAddress, userDetail.ValidFrom, userDetail.ValidUntil); var user = User.CreateNewUser(userInfo, settings.DefaultTemporaryPassword); // copy other info such as authority groups from request var assembler = new UserAssembler(); assembler.UpdateUser(user, request.UserDetail, PersistenceContext); // save PersistenceContext.Lock(user, DirtyState.New); PersistenceContext.SynchState(); return(new AddUserResponse(user.GetRef(), assembler.GetUserSummary(user))); }
public UpdateUserResponse UpdateUser(UpdateUserRequest request) { var user = FindUserByName(request.UserDetail.UserName); EnsureCurrentUserAuthorizedToManage(user.AccountType); // update user account info var assembler = new UserAssembler(); assembler.UpdateUser(user, request.UserDetail, PersistenceContext); // for user accounts, reset password if requested if (request.UserDetail.ResetPassword) { if (user.AccountType != UserAccountType.U) { throw new RequestValidationException(SR.MessageAccountTypeDoesNotSupportPasswordReset); } var settings = new AuthenticationSettings(); user.ResetPassword(settings.DefaultTemporaryPassword); } // for system accounts, update the password if specified if (!string.IsNullOrEmpty(request.Password) && user.AccountType == UserAccountType.S) { PasswordPolicy.CheckPasswordCandidate(user.AccountType, request.Password, new AuthenticationSettings()); user.ChangePassword(request.Password, null); } PersistenceContext.SynchState(); return(new UpdateUserResponse(assembler.GetUserSummary(user))); }
public UpdateUserResponse UpdateUser(UpdateUserRequest request) { var user = FindUserByName(request.UserDetail.UserName); // update user account info var assembler = new UserAssembler(); assembler.UpdateUser(user, request.UserDetail, PersistenceContext); // reset password if requested if (request.UserDetail.ResetPassword) { var settings = new AuthenticationSettings(); user.ResetPassword(settings.DefaultTemporaryPassword); } PersistenceContext.SynchState(); return(new UpdateUserResponse(assembler.GetUserSummary(user))); }
public AddUserResponse AddUser(AddUserRequest request) { Platform.CheckForNullReference(request, "request"); Platform.CheckMemberIsSet(request.UserDetail, "UserDetail"); var userDetail = request.UserDetail; var accountType = (userDetail.AccountType != null) ? EnumUtils.GetEnumValue <UserAccountType>(userDetail.AccountType) : UserAccountType.U; // default account type is U if not specified // is the current user authorized to create user accounts of this type? EnsureCurrentUserAuthorizedToManage(accountType); if (!UserName.IsLegalUserName(userDetail.UserName)) { throw new RequestValidationException("Illegal account name."); } // create new user var userInfo = new UserInfo( accountType, userDetail.UserName, userDetail.DisplayName, userDetail.EmailAddress, userDetail.ValidFrom, userDetail.ValidUntil); var password = GetNewAccountPassword(accountType, request.Password); var user = User.CreateNewUser(userInfo, password, new HashedSet <AuthorityGroup>()); // copy other info such as authority groups from request var assembler = new UserAssembler(); assembler.UpdateUser(user, request.UserDetail, PersistenceContext); // save PersistenceContext.Lock(user, DirtyState.New); PersistenceContext.SynchState(); return(new AddUserResponse(user.GetRef(), assembler.GetUserSummary(user))); }
public AddUserResponse AddUser(AddUserRequest request) { Platform.CheckForNullReference(request, "request"); Platform.CheckMemberIsSet(request.UserDetail, "UserDetail"); var userDetail = request.UserDetail; var accountType = (userDetail.AccountType != null) ? EnumUtils.GetEnumValue<UserAccountType>(userDetail.AccountType) : UserAccountType.U; // default account type is U if not specified // is the current user authorized to create user accounts of this type? EnsureCurrentUserAuthorizedToManage(accountType); if(!UserName.IsLegalUserName(userDetail.UserName)) throw new RequestValidationException("Illegal account name."); // create new user var userInfo = new UserInfo( accountType, userDetail.UserName, userDetail.DisplayName, userDetail.EmailAddress, userDetail.ValidFrom, userDetail.ValidUntil); var password = GetNewAccountPassword(accountType, request.Password); var user = User.CreateNewUser(userInfo, password, new HashedSet<AuthorityGroup>()); // copy other info such as authority groups from request var assembler = new UserAssembler(); assembler.UpdateUser(user, request.UserDetail, PersistenceContext); // save PersistenceContext.Lock(user, DirtyState.New); PersistenceContext.SynchState(); return new AddUserResponse(user.GetRef(), assembler.GetUserSummary(user)); }
public UpdateUserResponse UpdateUser(UpdateUserRequest request) { var user = FindUserByName(request.UserDetail.UserName); EnsureCurrentUserAuthorizedToManage(user.AccountType); // update user account info var assembler = new UserAssembler(); assembler.UpdateUser(user, request.UserDetail, PersistenceContext); // for user accounts, reset password if requested if (request.UserDetail.ResetPassword) { if(user.AccountType != UserAccountType.U) throw new RequestValidationException(SR.MessageAccountTypeDoesNotSupportPasswordReset); var settings = new AuthenticationSettings(); user.ResetPassword(settings.DefaultTemporaryPassword); } // for system accounts, update the password if specified if(!string.IsNullOrEmpty(request.Password) && user.AccountType == UserAccountType.S) { PasswordPolicy.CheckPasswordCandidate(request.Password, new AuthenticationSettings()); user.ChangePassword(request.Password, null); } PersistenceContext.SynchState(); return new UpdateUserResponse(assembler.GetUserSummary(user)); }
public AddUserResponse AddUser(AddUserRequest request) { Platform.CheckForNullReference(request, "request"); Platform.CheckMemberIsSet(request.UserDetail, "UserDetail"); var userDetail = request.UserDetail; var settings = new AuthenticationSettings(); // create new user var userInfo = new UserInfo(userDetail.UserName, userDetail.DisplayName, userDetail.EmailAddress, userDetail.ValidFrom, userDetail.ValidUntil); var user = User.CreateNewUser(userInfo, settings.DefaultTemporaryPassword); // copy other info such as authority groups from request var assembler = new UserAssembler(); assembler.UpdateUser(user, request.UserDetail, PersistenceContext); // save PersistenceContext.Lock(user, DirtyState.New); PersistenceContext.SynchState(); return new AddUserResponse(user.GetRef(), assembler.GetUserSummary(user)); }
public UpdateUserResponse UpdateUser(UpdateUserRequest request) { var user = FindUserByName(request.UserDetail.UserName); // update user account info var assembler = new UserAssembler(); assembler.UpdateUser(user, request.UserDetail, PersistenceContext); // reset password if requested if (request.UserDetail.ResetPassword) { var settings = new AuthenticationSettings(); user.ResetPassword(settings.DefaultTemporaryPassword); } PersistenceContext.SynchState(); return new UpdateUserResponse(assembler.GetUserSummary(user)); }