Example #1
0
        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!"));
        }
Example #2
0
        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!"));
        }
Example #3
0
        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());
        }
Example #4
0
        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)
            }));
        }