public ActionResult Update(int?id) { EPermission permissions = sectionRpstry.GetPermissions(sectionName, loggedUser.UserId); if (permissions.CanUpdate) { ViewBag.Permissions = permissions; id = (id != null) ? id : loggedUser.UserId; var userEntry = dc.UserProfiles.FirstOrDefault(d => d.UserId == id); UpdateModel model = new UpdateModel(); ViewBag.Customers = new SelectList(cutomerRepo.GetAll(), "id", "fullName", userEntry != null ? userEntry.customerId : 0); if (userEntry != null) { model.Roles = Roles.GetRolesForUser(userEntry.UserName); } else { model.Roles = new string[0]; } model.UserName = userEntry.UserName; ViewBag.Role = Roles.GetRolesForUser(loggedUser.UserName).First(); ViewBag.Roles = roleRpstry.GetAll(); ViewBag.UserId = id.ToString(); return(View(model)); } else { return(View("Error", "You do not have permissions to access this section.")); } }
public void RequestPermission(EPermission permission) { try { var activity = MainActivity.Instance; string permissionManifest = GetManifestPermission(permission); if (permissionManifest == null) { return; } ActivityCompat.RequestPermissions(activity, new String[] { permissionManifest }, 1); OnExecuteResponseRequestPermission = (namePermission, allowed) => { if (permissionManifest == namePermission) { OnPermissionRequest?.Invoke(permission, allowed); } }; } catch (Exception) { } }
public static void Execute(EPermission permission, Action actionAllowed, Action actionDenied) { var permissionDependency = DependencyService.Get <IPermissionDependency>(); if (permissionDependency == null) { return; } if (Check(permission)) { actionAllowed(); } else { permissionDependency.RequestPermission(permission); permissionDependency.OnPermissionRequest = (per, allowed) => { if (allowed) { actionAllowed(); } else { actionDenied(); } }; } }
public ActionResult Create() { EPermission permissions = sectionRpstry.GetPermissions(sectionName, loggedUser.UserId); if (permissions.CanCreate) { var resultsToSearchFrom = rpstryService.GetAll(); ViewBag.LoggedUser = loggedUser; var currentRoles = Roles.GetRolesForUser(loggedUser.UserName); if (!currentRoles.Contains(ConfigurationManager.AppSettings["SuperAdminRoleName"]) && !currentRoles.Contains(ConfigurationManager.AppSettings["AdminRoleName"])) { resultsToSearchFrom = loggedUser.customerId != null?db.CustomerServices.Where(d => d.customerId == loggedUser.customerId).Select(d => d.Service).AsQueryable() : new List <Service>().AsQueryable(); } else { ViewBag.Customers = new SelectList(rpstryCustomer.GetAll(), "id", "fullName"); } var resultsToGroupFrom = db.DeviceGroups.AsQueryable(); ViewBag.DeviceGroups = new SelectList(resultsToGroupFrom, "id", "title"); ViewBag.Services = new SelectList(resultsToSearchFrom, "id", "title"); ViewBag.Permissions = permissions; return(View("Details")); } else { return(View("Error", "You do not have Orders to access this section.")); } }
/// <summary> /// 判断用户是否拥有某权限 /// </summary> /// <param name="permissionid">权限编号</param> /// <returns>是否拥有某权限</returns> public bool IsPermission(EPermission permissionid) { if (permissionid == EPermission.Any) { return(true); } return(_PermissionList.Contains(permissionid)); }
public async Task <IActionResult> Post([FromForm] AuthenticateUserCommand command) { if (command == null) { return(await Response(null, new List <Notification> { new Notification("User", "Usuário ou senha inválidos") })); } var identity = await GetClaims(command); if (identity == null) { return(await Response(null, new List <Notification> { new Notification("User", "Usuário ou senha inválidos") })); } var claims = new[] { new Claim(JwtRegisteredClaimNames.UniqueName, command.Email), new Claim(JwtRegisteredClaimNames.NameId, command.Email), new Claim(JwtRegisteredClaimNames.Email, command.Email), new Claim(JwtRegisteredClaimNames.Sub, command.Email), new Claim(JwtRegisteredClaimNames.Jti, await _tokenOptions.JtiGenerator()), new Claim(JwtRegisteredClaimNames.Iat, ToUnixEpochDate(_tokenOptions.IssuedAt).ToString(), ClaimValueTypes.Integer64), identity.FindFirst("LuizaEMAPI") }; var jwt = new JwtSecurityToken( issuer: _tokenOptions.Issuer, audience: _tokenOptions.Audience, claims: claims.AsEnumerable(), notBefore: _tokenOptions.NotBefore, expires: _tokenOptions.Expiration, signingCredentials: _tokenOptions.SiniginCredential); var encodedJwt = new JwtSecurityTokenHandler().WriteToken(jwt); EPermission permission = (EPermission)_user.Permission; var response = new { token = encodedJwt, expires = (int)_tokenOptions.ValidFor.TotalSeconds, user = new { id = _user.Id, name = _user.Username.ToString(), email = _user.Email.ToString(), username = _user.Username.ToString(), role = permission.ToString() } }; var json = JsonConvert.SerializeObject(response, _serializerSettings); return(new OkObjectResult(json)); }
public static bool Check(EPermission permission) { var permissionDependency = DependencyService.Get <IPermissionDependency>(); if (permissionDependency == null) { return(false); } return(permissionDependency.CheckPermission(permission)); }
public bool CheckPermission(EPermission permission) { string permissionManifest = GetManifestPermission(permission); if (permissionManifest == null) { return(false); } return(ContextCompat.CheckSelfPermission(Application.Context.ApplicationContext, permissionManifest) == (int)Permission.Granted); }
public User(int id, string email, string password, string nickname, EPermission permission, bool enabled) { Id = id; Email = email; Password = password; Nickname = nickname; Permission = permission; Enabled = enabled; Validate(); Password = ValidationPassword.Encrypt(Password); }
public User(int id, string username, string email, string password, EPermission permission, bool active) { Id = id; Username = username; Email = email.ToLower(); Password = password; Permission = permission; Active = active; Validate(); Password = ValidationPassword.Encrypt(password); }
public ActionResult Create() { EPermission permissions = sectionRpstry.GetPermissions(sectionName, loggedUser.UserId); if (permissions.CanCreate) { ViewBag.Permissions = permissions; return(View("Details", new Contact())); } else { return(View("Error", "You do not have Orders to access this section.")); } }
public ActionResult Index() { EPermission permissions = sectionRpstry.GetPermissions(sectionName, loggedUser.UserId); if (permissions.CanRead) { ViewBag.Permissions = permissions; return(View()); } else { return(View("Error", "You do not have Orders to access this section.")); } }
public ActionResult Create() { EPermission permissions = sectionRpstry.GetPermissions(sectionName, loggedUser.UserId); if (permissions.CanCreate) { ViewBag.Permissions = permissions; ViewBag.Types = new SelectList(rpstryType.GetAll(), "id", "name"); return(View("Details")); } else { return(View("Error", "You do not have Orders to access this section.")); } }
private string GetManifestPermission(EPermission permission) { switch (permission) { case EPermission.Camera: return(Manifest.Permission.Camera); case EPermission.WriteExternalStorage: return(Manifest.Permission.WriteExternalStorage); case EPermission.AccessFineLocation: return(Manifest.Permission.AccessFineLocation); } return(null); }
public ActionResult Update(int id) { EPermission permissions = sectionRpstry.GetPermissions(sectionName, loggedUser.UserId); if (permissions.CanUpdate) { ViewBag.Permissions = permissions; var entry = rpstry.GetBiId(id); return(View("Details", entry)); } else { return(View("Error", "You do not have Orders to access this section.")); } }
public ActionResult Create() { EPermission permissions = sectionRpstry.GetPermissions(sectionName, loggedUser.UserId); if (permissions.CanCreate) { ViewBag.Permissions = permissions; ViewBag.Sections = sectionRpstry.GetAllOnMenu(); ViewBag.PermissionTypes = permissionTypeRpstry.GetAll(); return(View()); } else { return(View("Error", "You do not have permissions to access this section.")); } }
public ActionResult Create() { EPermission permissions = sectionRpstry.GetPermissions(sectionName, loggedUser.UserId); if (permissions.CanCreate) { ViewBag.Permissions = permissions; ViewBag.Roles = new MultiSelectList(roleRpstry.GetAll(), "RoleName", "RoleName"); ViewBag.Customers = new SelectList(cutomerRepo.GetAll(), "id", "fullName"); return(View()); } else { return(View("Error", "You do not have permissions to access this section.")); } }
public ActionResult Update(int id) { EPermission permissions = sectionRpstry.GetPermissions(sectionName, loggedUser.UserId); if (permissions.CanUpdate) { ViewBag.Permissions = permissions; ViewBag.Roles = roleRpstry.GetAll(); ViewBag.PermissionTypes = permissionTypeRpstry.GetAll(); var entry = rpstry.GetBiId(id); return(View(entry)); } else { return(View("Error", "You do not have permissions to access this section.")); } }
public ActionResult Create() { EPermission permissions = sectionRpstry.GetPermissions(sectionName, loggedUser.UserId); if (permissions.CanCreate) { var resultsToSearchFrom = rpstryService.GetAll(); ViewBag.LoggedUser = loggedUser; ViewBag.Customers = new SelectList(rpstryCustomer.GetAll(), "id", "fullName"); ViewBag.Services = new SelectList(resultsToSearchFrom, "id", "title"); ViewBag.Permissions = permissions; return(View("Details")); } else { return(View("Error", "You do not have Orders to access this section.")); } }
public ActionResult Update(int id) { EPermission permissions = sectionRpstry.GetPermissions(sectionName, loggedUser.UserId); if (permissions.CanUpdate) { ViewBag.Permissions = permissions; var entry = rpstry.GetBiId(id); if (entry.RoleName == ConfigurationManager.AppSettings["SuperAdminRoleName"] || entry.RoleName == ConfigurationManager.AppSettings["AdminRoleName"]) { return(RedirectToAction("index")); } ViewBag.Sections = sectionRpstry.GetAllOnMenu(); ViewBag.PermissionTypes = permissionTypeRpstry.GetAll(); return(View(entry)); } else { return(View("Error", "You do not have permissions to access this section.")); } }
public bool HasPermission(EPermission permission) { return(_permissions.Contains(permission)); }
public ValidateHubAttribute(EPermission minimumPermission) { _minimumPermission = minimumPermission; }
bool IPermissionDependency.CheckPermission(EPermission permission) { return(true); }
public bool PermissionFeature(EFeatures efeature, EPermission ePermission, List <Features> features) { return(features.Any(feature => (feature.Permission.Equals(ePermission)) && (StringValue.GetStringValue(efeature).Equals(feature.Description)))); }
public void ChangePermission(EPermission permission) { Permission = permission; Validate(); }
void IPermissionDependency.RequestPermission(EPermission permission) { OnPermissionRequest?.Invoke(permission, true); }
public ActionResult Update(int?id, UpdateModel model) { bool hasPermissions = sectionRpstry.GetPermission(sectionName, loggedUser.UserId, canUpdate); if (hasPermissions) { if (ModelState.IsValid) { // Attempt to register the user try { id = (id != null) ? id : loggedUser.UserId; var userEntry = dc.UserProfiles.FirstOrDefault(d => d.UserId == id); if (userEntry != null) { var customerentity = cutomerRepo.GetBiId(Convert.ToInt32(model.customerId)); userEntry.customerId = customerentity.id; userEntry.customername = customerentity.fullName; userEntry.UserName = model.UserName; dc.SubmitChanges(); } if (userEntry != null) { if (Roles.GetRolesForUser(userEntry.UserName).Any()) { Roles.RemoveUserFromRoles(userEntry.UserName, Roles.GetRolesForUser(userEntry.UserName)); } if (model.Roles != null && model.Roles.Any()) { Roles.AddUserToRoles(userEntry.UserName, model.Roles); } if (!string.IsNullOrEmpty(model.OldPassword) && !string.IsNullOrEmpty(model.NewPassword)) { if (WebSecurity.ChangePassword(userEntry.UserName, model.OldPassword, model.NewPassword)) { } else { ModelState.AddModelError("", "Old password is incorrect, password does not changed"); var userEntry2 = dc.UserProfiles.FirstOrDefault(d => d.UserId == id); ViewBag.Customers = new SelectList(cutomerRepo.GetAll(), "id", "fullName", userEntry2 != null ? userEntry2.customerId : 0); if (userEntry2 != null) { model.Roles = Roles.GetRolesForUser(userEntry2.UserName); } else { model.Roles = new string[0]; } EPermission permissions2 = sectionRpstry.GetPermissions(sectionName, loggedUser.UserId); ViewBag.Permissions = permissions2; ViewBag.Roles = roleRpstry.GetAll(); return(View(model)); } } } return(RedirectToAction("Index", new { thisid = id })); } catch (MembershipCreateUserException e) { ModelState.AddModelError("", ErrorCodeToString(e.StatusCode)); return(View(model)); } } ModelState.AddModelError("", "Make sure you assigned a role"); // If we got this far, something failed, redisplay form var userEntry1 = dc.UserProfiles.FirstOrDefault(d => d.UserId == id); ViewBag.Customers = new SelectList(cutomerRepo.GetAll(), "id", "fullName", userEntry1 != null ? userEntry1.customerId : 0); if (userEntry1 != null) { model.Roles = Roles.GetRolesForUser(userEntry1.UserName); } else { model.Roles = new string[0]; } EPermission permissions1 = sectionRpstry.GetPermissions(sectionName, loggedUser.UserId); ViewBag.Permissions = permissions1; ViewBag.Roles = roleRpstry.GetAll(); return(View(model)); } else { return(View("Error", "You do not have permissions to access this section.")); } }
public void ChangePermission(EPermission permission) { Permission = permission; }
public static bool CurrentUserHasPermission(this IUserPrincipalProvider provider, EPermission permission) { // Check if userPrincipal == null if (provider.CurrentUserId < 0) { return(false); } return(provider.HasPermission(permission)); }