asp.net mvc中的用户登录验证过滤器

 在WEB项目中建立 类:

     public class LoginFilter : ActionFilterAttribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            //HttpContext.Current.Response.Write("OnActionExecuting:正要准备执行Action的时候但还未执行时执行<br />");
            if (HttpContext.Current.Session"admin" == null)
            {
                //HttpContext.Current.Response.Write("js代码");
                //HttpContext.Current.Response.End();
                //return;

                var context = new ContentResult();
                context.Content = "<script>alert('请重新登录!');location.href='/Login/Index'</script>";

                filterContext.Result = context;
 
            }
        }

        public override void OnActionExecuted(ActionExecutedContext filterContext)
        {
            //HttpContext.Current.Response.Write("OnActionExecuted:Action执行时但还未返回结果时执行<br />");
        }

        public override void OnResultExecuting(ResultExecutingContext filterContext)
        {
            // HttpContext.Current.Response.Write("OnResultExecuting:OnResultExecuting也和OnActionExecuted一样,但前者是在后者执行完后才执行<br />");
        }

        public override void OnResultExecuted(ResultExecutedContext filterContext)
        {
            // HttpContext.Current.Response.Write("OnResultExecuted:是Action执行完后将要返回ActionResult的时候执行<br />");
        }
    }

 


使用方法,直接在控制里方法外面写,如:

     [LoginFilter]
        public ActionResult Add()
        {
            Model.Userinfo loginuser = base.GetLoginUser();
            Model.Product pro = new Model.Product() { userid = loginuser.id, username = loginuser.username };
            return View(pro);
        }

posted @   牛腩  阅读(221)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示