// POST: api/UserSecurityRole public IHttpActionResult Post([FromBody] List <UserSecurityRole> userSecurityRoles) { UserSecurityRoleRepository userSecurityRoleRepository = new UserSecurityRoleRepository(Convert.ToInt32(Request.Headers.GetValues("CurrentUserID").First())); userSecurityRoleRepository.SaveUserSecurityRoles(userSecurityRoles); return(Json(new { count = userSecurityRoles.Count.ToString() })); }
public IHttpActionResult Get() { UserSecurityRoleRepository userSecurityRoleRepository = new UserSecurityRoleRepository(Convert.ToInt32(Request.Headers.GetValues("CurrentUserID").First())); List <UserSecurityRole> userSecurityRoleList = userSecurityRoleRepository.GetUserSecurityRoles(); return(Json(new { UserSecurityRoles = userSecurityRoleList })); }
// POST: api/User public IHttpActionResult Post([FromBody] string text, string credential) { bool valid = false; string identityName = User.Identity.Name; UserCredential userCredential = SecurityHelper.GetUserCredential(credential); UserCredential webCredential = SecurityHelper.GetUserCredential(identityName); if (userCredential.LoginName != webCredential.LoginName) { valid = false; } else if (SecurityHelper.IsValidLDAPUser(identityName, userCredential.Password)) { valid = true; } if (valid) { int userID = Convert.ToInt32(Request.Headers.GetValues("CurrentUserID").First()); UserSecurityRoleRepository usrRoleRepository = new UserSecurityRoleRepository(userID); return(Json(new { message = "ValidUser", userRoles = usrRoleRepository.GetUserSecurityRoles(userID) })); } else { return(Json(new { message = "InvalidUser", userRoles = new List <int>() })); } }
public async Task <List <SecurityRole> > GetSecurityRoles(int userId) { var userLogin = await new UserLoginLogic(Context).GetUserLogin(userId); if (userLogin == null) { throw new CallerException("User does not have login"); } using (var uow = new UnitOfWork(Context)) { var repo = new UserSecurityRoleRepository(uow); var securityRoles = await repo.GetAll().Where(c => c.UserId == userId).ToListAsync(); return(securityRoles.Select(c => c.SecurityRole).ToList()); } }
public async Task AddSecurityRole(int userId, SecurityRole role, string createdBy) { if (userId <= 0) { throw new CallerException("Invalid UserId"); } if (role == 0) { throw new CallerException("Invalid Role"); } if (string.IsNullOrEmpty(createdBy)) { throw new CallerException("CreatedBy required."); } var userLogin = await new UserLoginLogic(Context).GetUserLogin(userId); if (userLogin == null) { throw new CallerException("User does not have login"); } var currentRoles = await GetSecurityRoles(userId); if (currentRoles.Contains(role)) { throw new CallerException("User already has role"); } using (var uow = new UnitOfWork(Context)) { var repo = new UserSecurityRoleRepository(uow); await repo.Create(new UserSecurityRole { UserId = userId, SecurityRole = role, CreatedBy = createdBy }); } }
public async Task RemoveSecurityRole(int userId, SecurityRole role) { var userLogin = await new UserLoginLogic(Context).GetUserLogin(userId); if (userLogin == null) { throw new CallerException("User does not have login"); } if (role == 0) { throw new CallerException("Invalid Role"); } using (var uow = new UnitOfWork(Context)) { var repo = new UserSecurityRoleRepository(uow); await repo.Delete(userId, role); } }