0
public class AdministratorAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext.HttpContext.User.Identity.IsAuthenticated)
{
EFUserRepository repo = new EFUserRepository();
var user = repo.FindUserByUserName(filterContext.HttpContext.User.Identity.Name);
if (user.UserRole.Name == "Administrator")
{
filterContext.Result = new RedirectToRouteResult(//Redirect to the original action they tried to enter?
}
}
else
{
//redirect to the "Home/Index" area.
}
}
}
我在重定向到此OnActionExecuting方法中的操作時遇到問題。另外,如果用戶獲得完全授權,我將如何將用戶重定向到他們原來的預期行動。在實現ActionFilterAttribute的類中重定向
這[Administrator]
屬性將被放置在許多不同的控制器,所以我必須有一種方法來重定向到他們試圖達到適當的ActionResult。
你不能使用'Authorize'屬性嗎? '[Authorize(Roles =「Administrator」)]'? – Chris
我有我自己的自定義會員系統。 –