Asp.net MVC Filter 过滤器
简单的认证设置:
1.在Web.config配置文件中增加
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880">
<credentials passwordFormat="Clear">
<user name="user" password="123"/>
<user name="admin" password="tt123"/>
</credentials>
</forms>
</authentication>
说明:使用Forms认证,对于未通过的认证直接重定向到Account控制器的Login方法中。
2.应用单元 using System.Security
在需要验证登录才能授权使用的控制器上加上[Authorize] 启用授权验证功能
当访问该控制器方法时,会自动重定向到指定的Url进行验证。
3.系统验证
调用FormsAuthentication.Authenticate(username,password);进行验证,该方法会自动匹配配置文件中Forms的credentials 节点中的user,当然自己也可以通过自定义方法来通过数据库或配置文件来验证。
验证成功后可以通过 FormsAuthentication.SetAuthCookies(username,false)来保存用户名为cookies变量,这样下次登录就会缓存。
MVC支持5种不同的过滤器
1.认证过滤器 IAuthenticationFilter 最先运行,在任何其他过滤器方法之前,但授权过滤器之后可以再次运行
2.授权过滤器 IAuthenticationFilter AuthorizeAttribute 在认证过后,其他过滤器活动作方法之前,第二个运行
3.动作过滤器 IActionFilter ActionFilterAttribute 在动作方法之前及之后运行
4.结果过滤器 IResultFilter ActionFilterAttribute 在动作结果被执行之前和之后运行
5.异常过滤器 IExceptionFilter HandleErrorAttribute 仅在另一个过滤器、动作方法或动作结果抛出异常时运行。
AuthorizeAttribute属性
Users string 一个逗号分隔的用户名列表,允许这些用户访问该动作方法
Roles string 一个逗号分隔的角色列表,为了访问该动作方法,用户必须至少是这些角色之一。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!