ASP.NET MVC权限控制示例(重写AuthorizeAttribute)
MVC 项目里的权限控制,多人第一反应就是用AuthorizeAttribute
,其实它挺灵活的。通过重写它,不光能按角色限制,还能加 IP 判断、访问时间段判断,甚至加日志、缓存,玩法多得。
重写OnAuthorization
方法,你就能自己控制权限逻辑,比如某些操作只有在周一到周五才能访问,或者不同部门有不同入口。加几个属性,像PermissionCode
,代码也清晰。
无权限怎么办?重写HandleUnauthorizedRequest
,跳转、弹窗、403 页面都随你。还可以加个日志,谁被拒了、为什么被拒,一查就清楚。
有些权限要查数据库,频率高了性能就下来,这时候加个缓存挺香的,内存或者 Redis 都行。搭配ASP.NET Identity
用,还能玩得更细,用户声明、角色、权限码全都上。
权限这东西,最怕硬编码死了。如果你也在用 MVC,不妨试试重写AuthorizeAttribute
这招,灵活、好改、扩展性强,做项目时候挺省心的。
296.98KB
文件大小:
评论区