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;
//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);
}
撸码:复制、粘贴,拿起键盘就是“干”!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· 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工具