Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用于授权的ActionFilterAttribute

用于授权的ActionFilterAttribute
EN

Stack Overflow用户
提问于 2012-09-27 23:05:19
回答 1查看 2.5K关注 0票数 4

我需要在我的应用程序中实现一些授权机制。授权是基于对象的,这些对象从客户端发送到服务器。控制器中的每个操作都作为一个参数列表。根据此列表中对象的嵌套属性,我必须授予或拒绝对控制器操作的访问权限。我的第一种方法是使用自定义筛选器属性

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class CustomAuthAttribute : FilterAttribute,IAuthorizationFilter
{
    public void OnAuthorization(AuthorizationContext filterContext)
    {
        //SOME LOGIC HERE
    }
}

但是,由于请求是json请求,所以我很难获得已发送对象的每个相关属性的值(我只能访问json值)。这就是为什么我认为我可以使用ActionFilterAttribute而不是FilterAttribute。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 public class ActionFilterAuthorization: ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {

        var castedList = filterContext.ActionParameters["key"] as List<MyObject>;
        //logic here 

       //throw exception is access is not granted

    }
}

问题是这是否是授权的好解决方案?也许检查操作内部的授权会更好??

EN

回答 1

Stack Overflow用户

发布于 2012-09-27 23:49:29

安全性是一个cross cutting concern,所以过滤器和属性是它的理想位置。在每次操作中都必须手动检查它,这将添加许多必须维护的额外代码,并且如果忘记它,还会增加安全风险。将其设置为全局筛选器将意味着它将始终被应用,这意味着您可以编写一个属性,如果操作/控制器不需要它,您可以编写一个属性,例如AllowAnnoymous等enter link description here

我找到的关于MVC3安全性的最好的通用文章是this one http://www.codeproject.com/Articles/288631/Secure-ASP-NET-MVC3-applications

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12631325

复制
相关文章
.Net Core 权限验证与授权(AuthorizeFilter、ActionFilterAttribute)
在.Net Core 中使用AuthorizeFilter或者ActionFilterAttribute来实现登录权限验证和授权
小世界的野孩子
2019/09/11
2.2K0
在 Mac 上安装 Git ,生成 SSH 密钥用于 GitHub 授权
我们需要的 SSH 公钥存储在以.pub结尾的文件中,即: ~/.ssh/id_rsa.pub
圆号本昊
2021/09/24
2.3K0
在 Mac 上安装 Git ,生成 SSH 密钥用于 GitHub 授权
Asp.Net Core 轻松学-被低估的过滤器
    过滤器,从我们开始开发 Asp.Net 应用程序开始,就一直伴随在我们左右;Asp.Net Core 提供多种类型的过滤器,以满足多种多样的业务应用场景;并且在 Asp.Net Core 本身,过滤器的应用也非常广泛;但是,在实际的业务场景中,大部分开发人员只使用到其中 1 到 2 种类型,当然,这其中大部分可能性是由于业务场景的适用性使然,本文尝试简单介绍 Asp.Net Core 中提供的各种过滤器,以及实际的应用场景,希望对您有所帮助。
梁规晓
2019/04/11
1.5K0
Asp.Net Core 轻松学-被低估的过滤器
ASP.NET MVC下判断用户登录和授权状态方法
在我们日常开发的绝大多数系统中,都涉及到管理用户的登录和授权问题。登录功能(Authentication),针对于所有用户都开放;而授权(Authorization),则对于某种用户角色才开放。
石瞳禅
2018/09/18
4.3K0
ASP.NET MVC的Action Filter
一年前写了一篇短文ASP.NET MVC Action Filters,整理了Action Filter方面的资源,本篇文章详细的描述Action Filter。Action Filter作为一个可以应用到Controller Action(或者是整个controller)上的属性(Attribute),改变Action执行的行为,当应用于整个Controller上时,Controller上的所有Action都应用了同样设置的Action。 使用Action Filter 可以处理缓存、 验证和错误处理您的
张善友
2018/01/22
1.8K0
ASP.NET MVC的Action Filter
Asp.Net Core 轻松学-被低估的过滤器
    过滤器,从我们开始开发 Asp.Net 应用程序开始,就一直伴随在我们左右;Asp.Net Core 提供多种类型的过滤器,以满足多种多样的业务应用场景;并且在 Asp.Net Core 本身,过滤器的应用也非常广泛;但是,在实际的业务场景中,大部分开发人员只使用到其中 1 到 2 种类型,当然,这其中大部分可能性是由于业务场景的适用性使然,本文尝试简单介绍 Asp.Net Core 中提供的各种过滤器,以及实际的应用场景,希望对您有所帮助。
梁规晓
2019/04/22
1.4K0
Asp.Net Core 轻松学-被低估的过滤器
使用ActionFilterAttribute 记录 WebApi Action 请求和返回结果记录
在asp.net mvc 中 webapi 和 mvc 处理消息是两个不同的管道,Asp.net mvc 和 webapi 为我们提供的 ActionFilterAttribute 拦截器,通过 重写 OnActionExecutingAsync,来 拦截action的请求消息,当执行OnActionExecutingAsync完成以后才真正进入请求的action中,action运行完后又把控制权给了 OnActionExecutedAsync ,这个管道机制可以使我们用它来轻松实现 权限认证、日志记录 ,跨域以及很多需要对全局或者部分请求做手脚的的功能。
yaphetsfang
2020/07/30
4.9K0
使用ActionFilterAttribute 记录 WebApi Action 请求和返回结果记录
MVC过滤器的详细讲解和示范样本
MVC共有4个过滤器:ActionFilter(方法过滤器),ResultFilter(结果过滤器。感觉是不是很好,所以称它为),AuthorizationFilter(授权过滤器)。ExceptionFilter(异常处理过滤器)
全栈程序员站长
2022/07/06
3570
ASP.NET MVC 过滤器
注意:如果继承自接口,则需要让类实现FilterAttribute,才能作为特性使用。参数类均继承自ControllerContext,主要包含属性请求上下文,路由数据,结果。
李郑
2019/12/11
2.1K0
ASP.NET MVC 过滤器
【RSA2019创新沙盒】CloudKnox:用于混合云环境中的身份授权管理平台
CloudKnox是一家位于美国加利福尼亚州森尼韦尔的初创高科技公司,成立于2015年9月。公司已经完成A轮融资,累计融资1075万美元。
绿盟科技研究通讯
2019/12/11
6810
【RSA2019创新沙盒】CloudKnox:用于混合云环境中的身份授权管理平台
eShopOnContainers 知多少[7]:Basket microservice
Basket microservice(购物车微服务)主要用于处理购物车的业务逻辑,包括:
圣杰
2019/05/29
8700
eShopOnContainers 知多少[7]:Basket microservice
ASP.NET Core如何在ActionFilterAttribute里做依赖注入
在ASP.NET Core里,我们可以使用构造函数注入很方便地对Controller,ViewComponent等部件做依赖注入。但是如何给过滤器ActionFilterAttribute也用上构造函数注入呢?
Edi Wang
2019/07/08
1.4K0
ASP.NET Core如何在ActionFilterAttribute里做依赖注入
ASP.NET Core 2.2 十八.各种Filter的内部处理机制及执行顺序
ASP.NET core 的Filter是系统中经常用到的,本文详细分享一下各种Filter定义、执行的内部机制以及执行顺序。(ASP.NET Core 系列目录)
FlyLolo
2019/03/06
2.2K0
CDP的HWC授权
您配置 Hive 仓库连接器 (HWC) 的方式会影响查询授权过程和您的安全性。有多种方法可以通过 HWC 访问 Hive,并不是所有操作都通过 HiveServer (HS2)。一些操作,例如 Spark Direct Reader 和 Hive Streaming,通过 HMS 直接进入 Hive,其中通常适用基于存储的权限。
大数据杂货铺
2021/08/20
1.1K0
shiro中的授权
授权,即访问控制,控制谁能访问哪些资源。主体进行身份认证后需要分配权限方可访问系统的资源,对于某些资源没有权限是无法访问的。
别团等shy哥发育
2023/02/25
4620
shiro中的授权
ASP.NET MVC如何做一个简单的非法登录拦截
摘要:做网站的时候,经常碰到这种问题,一个没登录的用户,却可以通过localhost:23244/Main/Index的方式进入到网站的内部,查看网站的信息。我们知道,这是极不安全的,那么如何对这样的操作进行拦截呢,这里记录我学到的一个小小方法。
CherishTheYouth
2019/07/30
1.1K0
ASP.NET MVC如何做一个简单的非法登录拦截
ASP.NET MVC编程——控制器
每一个请求都会经过控制器处理,控制器中的每个方法被称为控制器操作,它处理具体的请求。 1操作输入参数 控制器的操作的输入参数可以是内置类型也可以是自定义类型。 2操作返回结果 结果类型 调用方法 备注 ContentResult Content 文本类型 FileContentResult/FileStreamResult/FilePathResult File 文件类型 HttpStatusCodeResult(HttpNotFou
甜橙很酸
2018/03/30
2.2K0
Postgresql如何授权未来会创建的表(避免反复授权)
使用PG时经常有一类需求,某一个数据库的所有表都需要给某一个用户读权限,不管是已经创建的还是没有创建的。下面我们看下如何实现。
mingjie
2022/05/12
1.4K0
授权服务是如何颁发授权码和访问令牌的?
授权服务如何生成访问令牌? 访问令牌过期了而用户又不在场的情况下,又如何重新生成访问令牌?
JavaEdge
2021/02/23
2.8K0
授权服务是如何颁发授权码和访问令牌的?
Shiro 实战(三)-授权1 简介2 授权方式3 授权
授权,也叫访问控制,即在应用中控制谁能访问哪些资源(如访问页面/编辑数据/页面操作等) 在授权中需了解的几个关键对象:主体(Subject)、资源(Resource)、权限(Permission)、角色(Role)
JavaEdge
2018/12/04
1.4K0
Shiro 实战(三)-授权1 简介2 授权方式3 授权

相似问题

来自ActionFilterAttribute的“解除授权”用户

11

将ActionFilterAttribute应用于整个WebAPI?

11

不要将ActionFilterAttribute应用于特定的路由?

11

控制器ActionFilterAttribute之前的方法ActionFilterAttribute

12

ActionFilterAttribute期间的绑定

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文