diff --git a/Bootstrap.Admin/App_Start/BAAuthorizeAttribute.cs b/Bootstrap.Admin/App_Start/BAAuthorizeAttribute.cs
index 3c41228c..3c0a47bc 100644
--- a/Bootstrap.Admin/App_Start/BAAuthorizeAttribute.cs
+++ b/Bootstrap.Admin/App_Start/BAAuthorizeAttribute.cs
@@ -1,7 +1,7 @@
using Bootstrap.DataAccess;
-using Longbow.Security.Principal;
using Longbow.Web.Mvc;
using System;
+using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
@@ -13,26 +13,23 @@ namespace Bootstrap.Admin
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = true)]
class BAAuthorizeAttribute : LgbAuthorizeAttribute
{
- public override void OnAuthorization(AuthorizationContext filterContext)
- {
- if (filterContext.HttpContext.User.Identity.IsAuthenticated)
- {
- string username = filterContext.HttpContext.User.Identity.Name;
- var roles = RoleHelper.RetrieveRolesByUserName(username).Select(r => r.RoleName);
- filterContext.HttpContext.User = new LgbPrincipal(filterContext.HttpContext.User.Identity, roles);
- }
- base.OnAuthorization(filterContext);
- }
///
///
///
///
///
- protected override bool AuthenticateRole()
+ protected override IEnumerable RetrieveRolesByUserName(string userName)
{
- string url = string.Format("~/{0}/{1}", ControllerName, ActionName);
- Roles = string.Join(";", RoleHelper.RetrieveRolesByUrl(url).Select(r => r.RoleName));
- return base.AuthenticateRole();
+ return RoleHelper.RetrieveRolesByUserName(userName).Select(r => r.RoleName);
+ }
+ ///
+ ///
+ ///
+ ///
+ ///
+ protected override IEnumerable RetrieveRolesByUrl(string url)
+ {
+ return RoleHelper.RetrieveRolesByUrl(url).Select(r => r.RoleName);
}
///
///
@@ -45,7 +42,6 @@ namespace Bootstrap.Admin
base.HandleUnauthorizedRequest(filterContext);
return;
}
-
var view = new ViewResult();
view.ViewName = "UnAuthorized";
filterContext.Result = view;