如何使用ASP.NET MVC授权过滤器实现复杂权限控制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1753个文字,预计阅读时间需要8分钟。
过滤器(Filter)的出现使得我们能够在ASP.NET MVC程序中更好地控制浏览器请求的URL。它不会响应每一个请求,只有具有特定权限的用户才能访问特定的内容。过滤器的作用在于过滤请求内容。
过滤器
过滤器(Filter)的出现使得我们可以在ASP.NET MVC程序里更好的控制浏览器请求过来的URL,并不是每个请求都会响应内容,只有那些有特定权限的用户才能响应特定的内容。过滤器理论上有以下功能:
- 判断登录与否或者用户权限。
- 决策输出缓存。
- 防盗链。
- 防蜘蛛。
- 本地化与国际化设置。
- 实现动态Action(做权限管理系统经常用到)。
1、使用方式一
第一种方法是在Controller或Action上面直接使用Authorize特性,不设置特性的任何属性。看下面的截图:
从上面的截图中可以看出:第一个名为Index的Action方法是没有过滤的,任何身份的请求都可以通过。只需要在浏览器的URL地址栏里面输入:localhost:**/Admin/Index就能得到对应的视图响应,效果如下:
而第二个名为Welcome的Action方法上面使用了Authorize特性,表示这是一个只处理那些通过身份验证的URL的请求,页面请求效果如下:
这时可以看到报错了:提示只有通过身份验证的用户才能访问请求所需的资源。
本文共计1753个文字,预计阅读时间需要8分钟。
过滤器(Filter)的出现使得我们能够在ASP.NET MVC程序中更好地控制浏览器请求的URL。它不会响应每一个请求,只有具有特定权限的用户才能访问特定的内容。过滤器的作用在于过滤请求内容。
过滤器
过滤器(Filter)的出现使得我们可以在ASP.NET MVC程序里更好的控制浏览器请求过来的URL,并不是每个请求都会响应内容,只有那些有特定权限的用户才能响应特定的内容。过滤器理论上有以下功能:
- 判断登录与否或者用户权限。
- 决策输出缓存。
- 防盗链。
- 防蜘蛛。
- 本地化与国际化设置。
- 实现动态Action(做权限管理系统经常用到)。
1、使用方式一
第一种方法是在Controller或Action上面直接使用Authorize特性,不设置特性的任何属性。看下面的截图:
从上面的截图中可以看出:第一个名为Index的Action方法是没有过滤的,任何身份的请求都可以通过。只需要在浏览器的URL地址栏里面输入:localhost:**/Admin/Index就能得到对应的视图响应,效果如下:
而第二个名为Welcome的Action方法上面使用了Authorize特性,表示这是一个只处理那些通过身份验证的URL的请求,页面请求效果如下:
这时可以看到报错了:提示只有通过身份验证的用户才能访问请求所需的资源。

