diff --git a/Bootstrap.Admin/App_Start/BAAPIAuthorizaAttribute.cs b/Bootstrap.Admin/App_Start/BAAPIAuthorizaAttribute.cs index 58e4e658..71696b6d 100644 --- a/Bootstrap.Admin/App_Start/BAAPIAuthorizaAttribute.cs +++ b/Bootstrap.Admin/App_Start/BAAPIAuthorizaAttribute.cs @@ -1,9 +1,10 @@ -using Longbow.Security.Principal; +using Bootstrap.DataAccess; +using Longbow.Security.Principal; +using System.Linq; using System.Security.Principal; using System.Web.Http; using System.Web.Http.Controllers; - namespace Bootstrap.Admin { /// @@ -22,6 +23,8 @@ namespace Bootstrap.Admin if (principal.Identity.IsAuthenticated) { if (LgbPrincipal.IsAdmin(principal.Identity.Name)) return true; + var roles = RoleHelper.RetrieveRolesByUserName(principal.Identity.Name).Select(r => r.RoleName); + actionContext.ControllerContext.RequestContext.Principal = new LgbPrincipal(principal.Identity, roles); } return base.IsAuthorized(actionContext); }