public async Task <IHttpActionResult> Register([FromBody] RbacRegisterUser user) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (user.RbacId == 0) { return(BadRequest("Rbac id cannot be zero!")); } Rbac rbac = new Rbac(user.RbacId, ""); if (rbac == null) { return(BadRequest(string.Format("Rbac instance with rbac id '{0}' not found!", user.RbacId))); } RbacRole role = new RbacRole(user.RoleId); if (role == null) { return(BadRequest(string.Format("Role id '{0}' not found!", user.RoleId))); } RbacUser newUser = rbac.CreateUser(user.UserName, user.FullName, user.Email, user.Password, role); if ((newUser != null) && (newUser.UserId > 0)) { return(Ok()); } return(BadRequest("Cannot create user!")); }
public async Task <IHttpActionResult> AddNew([FromBody] RbacRegisterUser user) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } RbacUser dbUser = new RbacUser(user.UserName); if (dbUser != null) { return(BadRequest(string.Format("User '{0}' already exists!", user.UserName))); } RbacRole role = new RbacRole(user.RoleId); if (role == null) { return(BadRequest(string.Format("Role id '{0}' not found!", user.RoleId))); } RbacUser newUser = Rbac.CreateUser(user.UserName, user.FullName, user.Email, user.Password, role); if ((newUser != null) && (newUser.UserId > 0)) { return(Ok()); } return(BadRequest("Cannot create user!")); }
public async Task <IHttpActionResult> Update([FromBody] RbacRegisterUser user) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } RbacRole role = new RbacRole(user.RoleId); if (role == null) { return(BadRequest(string.Format("Role id '{0}' not found!", user.RoleId))); } Rbac.Save(user); return(Ok()); }
public IHttpActionResult Token(RbacRegisterUser login) { ClaimsIdentity identity; if (!new ActiveDirectoryUserLoginProvider("Microsoft").ValidateCredentials(login.UserName, login.Password, out identity)) { return(BadRequest("Incorrect user or password")); } var ticket = new AuthenticationTicket(identity, new AuthenticationProperties()); var currentUtc = new SystemClock().UtcNow; ticket.Properties.IssuedUtc = currentUtc; ticket.Properties.ExpiresUtc = currentUtc.Add(TimeSpan.FromMinutes(30)); return(Ok(new LoginAccessViewModel { UserName = login.UserName, AccessToken = Startup.OAuthOptions.AccessTokenFormat.Protect(ticket) })); }