Fork me on GitHub

【记录】ASP.NET MVC AuthorizeAttribute OnAuthorization 验证跳转

重写 AuthorizeAttribute 的 OnAuthorization 方法:

using System.Web.Mvc;

namespace Demo.Web.Common
{
    public class AuthorizeUserAttribute : AuthorizeAttribute
    {
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            base.OnAuthorization(filterContext);
            if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
            {
                return;
            }
            if (!Demo.ExternalService.UserService.IsUserInRole(filterContext.HttpContext.User.Identity.Name))
            {
                filterContext.Result = new RedirectResult("http://www.test.com");//身份验证不通过,则跳转至此网站。
            }
        }
    }
}

Controller 控制器配置:

using System.Web.Mvc;

namespace Demo.Ad.Web.Controllers
{
    [AuthorizeUser]//可以在 Controller 上直接配置,作用于此 Controller 下所有 Action
    public class IndexController : Controller
    {
        //[AuthorizeUser]
        public ActionResult Index()
        {
            return View();
        }
    }
}
posted @   田园里的蟋蟀  阅读(2083)  评论(0)    收藏  举报
编辑推荐:
· 长文讲解 MCP 和案例实战
· Hangfire Redis 实现秒级定时任务,使用 CQRS 实现动态执行代码
· Android编译时动态插入代码原理与实践
· 解锁.NET 9性能优化黑科技:从内存管理到Web性能的最全指南
· 通过一个DEMO理解MCP(模型上下文协议)的生命周期
阅读排行:
· 工良出品 | 长文讲解 MCP 和案例实战
· 一天 Star 破万的开源项目「GitHub 热点速览」
· 多年后再做Web开发,AI帮大忙
· 记一次 .NET某旅行社酒店管理系统 卡死分析
· 别再堆文档了,大模型时代知识库应该这样建
点击右上角即可分享
微信分享提示