public ResultModel GetForUser(int userId) { RoPrincipal currentPrincipal = Thread.CurrentPrincipal as RoPrincipal; if (currentPrincipal == null || currentPrincipal.UserId != userId && !currentPrincipal.IsAuthorizedForResource(ShopRoCmsResources.Shop)) { return(ResultModel.Error); } var client = _clientService.GetClientByUserId(userId); if (client != null) { return(new ResultModel(true, client)); } return(ResultModel.Error); }
public override void OnAuthorization(HttpActionContext filterContext) { base.OnAuthorization(filterContext); RoPrincipal currentPrincipal = Thread.CurrentPrincipal as RoPrincipal; if (currentPrincipal != null && currentPrincipal.Identity.IsAuthenticated && _resources.Length > 0) { foreach (string resource in _resources) { if (!currentPrincipal.IsAuthorizedForResource(resource)) { filterContext.Response = new HttpResponseMessage(System.Net.HttpStatusCode.Forbidden); break; } } } }
public override void OnAuthorization(AuthorizationContext filterContext) { base.OnAuthorization(filterContext); RoPrincipal currentPrincipal = Thread.CurrentPrincipal as RoPrincipal; if (currentPrincipal != null && currentPrincipal.Identity.IsAuthenticated && _resources.Length > 0) { foreach (string resource in _resources) { if (!currentPrincipal.IsAuthorizedForResource(resource)) { filterContext.Result = new HttpUnauthorizedResult(); break; } } } }
public ResultModel UpdateInfo(Client client) { var updatingClient = _clientService.GetClient(client.ClientId); RoPrincipal currentPrincipal = Thread.CurrentPrincipal as RoPrincipal; if (currentPrincipal == null || currentPrincipal.UserId != updatingClient.UserId && !currentPrincipal.IsAuthorizedForResource(ShopRoCmsResources.Shop)) { return(ResultModel.Error); } _clientService.UpdateClientInfo(client); return(ResultModel.Success); }
public override bool IsVisible(ISiteMapNode node, IDictionary <string, object> sourceMetadata) { // Is a visibility attribute specified? bool resourceCheckSuccessful = false; bool visibilityCheckSuccessful = false; if (!node.Attributes.ContainsKey("visibility")) { visibilityCheckSuccessful = true; } else { string visibility = node.Attributes["visibility"] as string; if (string.IsNullOrEmpty(visibility)) { visibilityCheckSuccessful = true; } else { string resource = visibility.Trim(); if (sourceMetadata.ContainsKey("name") && (string)sourceMetadata["name"] == resource) { visibilityCheckSuccessful = true; } else if (sourceMetadata.ContainsKey("HtmlHelper") && (string)sourceMetadata["HtmlHelper"] == resource) { visibilityCheckSuccessful = true; } } } if (!visibilityCheckSuccessful) { return(false); } if (!node.Attributes.ContainsKey("cmsResourceRequired")) { resourceCheckSuccessful = true; } else { string visibility = node.Attributes["cmsResourceRequired"] as string; if (string.IsNullOrEmpty(visibility)) { resourceCheckSuccessful = true; } else { string resource = visibility.Trim(); //process visibility RoPrincipal currentPrincipal = Thread.CurrentPrincipal as RoPrincipal; if (currentPrincipal != null && currentPrincipal.Identity.IsAuthenticated) { if (currentPrincipal.IsAuthorizedForResource(resource)) { resourceCheckSuccessful = true; } } } } return(resourceCheckSuccessful && visibilityCheckSuccessful); }