更改RoleHelper.RetrieveRolesByUrl方法名
This commit is contained in:
parent
a69d75e731
commit
849b5dae7a
|
@ -1,54 +1,54 @@
|
|||
using Bootstrap.DataAccess;
|
||||
using Longbow.Security.Principal;
|
||||
using Longbow.Web.Mvc;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
|
||||
namespace Bootstrap.Admin
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
[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);
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="userName"></param>
|
||||
/// <returns></returns>
|
||||
protected override bool AuthenticateRole()
|
||||
{
|
||||
string url = string.Format("~/{0}/{1}", ControllerName, ActionName);
|
||||
Roles = string.Join(";", RoleHelper.RetrieveRolesByURL(url).Select(r => r.RoleName));
|
||||
return base.AuthenticateRole();
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="filterContext"></param>
|
||||
protected override void HandleUnauthorizedRequest(System.Web.Mvc.AuthorizationContext filterContext)
|
||||
{
|
||||
if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
|
||||
{
|
||||
base.HandleUnauthorizedRequest(filterContext);
|
||||
return;
|
||||
}
|
||||
|
||||
var view = new ViewResult();
|
||||
view.ViewName = "UnAuthorized";
|
||||
filterContext.Result = view;
|
||||
}
|
||||
}
|
||||
using Bootstrap.DataAccess;
|
||||
using Longbow.Security.Principal;
|
||||
using Longbow.Web.Mvc;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
|
||||
namespace Bootstrap.Admin
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
[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);
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="userName"></param>
|
||||
/// <returns></returns>
|
||||
protected override bool AuthenticateRole()
|
||||
{
|
||||
string url = string.Format("~/{0}/{1}", ControllerName, ActionName);
|
||||
Roles = string.Join(";", RoleHelper.RetrieveRolesByUrl(url).Select(r => r.RoleName));
|
||||
return base.AuthenticateRole();
|
||||
}
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="filterContext"></param>
|
||||
protected override void HandleUnauthorizedRequest(System.Web.Mvc.AuthorizationContext filterContext)
|
||||
{
|
||||
if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
|
||||
{
|
||||
base.HandleUnauthorizedRequest(filterContext);
|
||||
return;
|
||||
}
|
||||
|
||||
var view = new ViewResult();
|
||||
view.ViewName = "UnAuthorized";
|
||||
filterContext.Result = view;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -396,7 +396,7 @@ namespace Bootstrap.DataAccess
|
|||
/// 从Navigators-〉GroupNavigatorRole-〉Role查查询某个用户所拥有的角色
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static IEnumerable<Role> RetrieveRolesByURL(string url)
|
||||
public static IEnumerable<Role> RetrieveRolesByUrl(string url)
|
||||
{
|
||||
string key = string.Format("{0}{1}", RoleDataKey, url);
|
||||
return CacheManager.GetOrAdd(key, CacheSection.RetrieveIntervalByKey(RoleDataKey), k =>
|
||||
|
|
Loading…
Reference in New Issue