public IHttpActionResult Login([FromBody] LoginViewModel data) { return(PerformAction <IdentityResult>(() => { ServiceUser user = null; var findUserTask = ServiceUserManager .FindAsync(data.Login, data.Password); findUserTask .Wait(); user = findUserTask .Result; Authentication .SignOut(); if (user == null) { throw new AuthenticationException("Invalid username or password!"); } LoginUser(user); return IdentityResult .Success; })); }
protected override void Dispose(bool disposing) { if (disposing && _userManager != null) { _userManager.Dispose(); _userManager = null; } base.Dispose(disposing); }
/// <summary> /// Register user /// </summary> /// <param name="data">Login data</param> /// <param name="hasManager">Has user manager</param> /// <returns> /// <see cref="IdentityResult"/>s object containing the result of registration. /// </returns> private IdentityResult RegisterUser(RegisterViewModel data, bool hasManager) { IdentityResult result = IdentityResult .Failed(); var userDto = data .ToDto(); userDto.UserRole = hasManager ? "Manager" : "Employee"; var findUserTask = ServiceUserManager .FindByNameAsync(userDto.Login); findUserTask .Wait(); var alreadyRegistered = (findUserTask.Result != null); if (alreadyRegistered) { throw new Exception(String.Format( "User {0} already exists!", userDto.Login)); } var user = new ServiceUser(userDto); var createUserTask = ServiceUserManager .CreateAsync(user); createUserTask .Wait(); result = createUserTask .Result; if (result == IdentityResult.Success) { findUserTask = ServiceUserManager .FindByNameAsync(userDto.Login); findUserTask .Wait(); user = findUserTask .Result; LoginUser(user); } return(result); }
public static bool DeleteUser(string login) { try { ServiceUserManager sum = new ServiceUserManager(); return(sum.DeleteUser(login)); } catch (EndpointNotFoundException e) { MessageBox.Show("Le serveur ne répond pas.", "Erreur"); throw e; } }
public async static Task <ServiceUser.User[]> GetUserListAsync() { try { ServiceUserManager sum = new ServiceUserManager(); return(await sum.GetListUserAsync()); } catch (EndpointNotFoundException e) { MessageBox.Show("Le serveur ne répond pas.", "Erreur"); throw e; } }
public async static Task <bool> ConnectAsync(string login, string pass) { try { ServiceUserManager sum = new ServiceUserManager(); return(await sum.ConnectAsync(login, pass)); } catch (EndpointNotFoundException e) { MessageBox.Show("Le serveur ne répond pas.", "Erreur"); throw e; } }
public static bool AddUser(ServiceUser.User user) { try { ServiceUserManager sum = new ServiceUserManager(); return(sum.AddUser(user)); } catch (EndpointNotFoundException e) { MessageBox.Show("Le serveur ne répond pas.", "Erreur"); throw e; } }
/// <summary> /// Login user /// </summary> /// <param name="user">Service user</param> private void LoginUser(ServiceUser user) { if (user != null) { var createIdentityTask = ServiceUserManager .CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie); createIdentityTask .Wait(); Authentication .SignIn(new AuthenticationProperties { IsPersistent = true }, createIdentityTask.Result); } }