Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用多个自定义授权属性

使用多个自定义授权属性
EN

Stack Overflow用户
提问于 2017-01-11 05:28:15
回答 1查看 461关注 0票数 0

我正在做一个项目,在这个项目中,我们正在加强我们网站的一个区域(模块)内的安全性。我们一共有5个模块,所有5个当前共享相同的自定义授权属性类,进行三次检查。

  1. 你同意接受条件了吗?是的,继续到2。不,你是未经授权的,被扔到一个未经授权的页面。
  2. 你是这个网站的成员吗?是的,继续到3。不,你是未经授权的,被扔到一个未经授权的页面。
  3. 本模块允许您的角色吗?是的,继续前进。不,您是未经授权的,并被抛到一个未经授权的页面。

这5个模块的类当前由这个自定义授权属性来修饰,并检查了它们各自的角色(3/5模块有一个单独的角色,而另两个模块有多个角色,其中一个有4个,而我现在发布的模块有3个)。然而,随着我们在一个模块中加强安全性,它已经成为一个如何解决它的问题。我们正在改变的这个模块有三个角色(只读,用户,管理).

  • 只读:听起来是这样。没有添加/编辑/删除特权。
  • 用户:具有读取权限,可以添加/编辑/删除挂起的其他权限检查。
  • 管理员:随你便。您可以添加/编辑/删除并进入仅管理区域。

用户也是一个特例,因为它有一个辅助检查集,其中包括在最多2个其他列表中检查权限(始终检查两个列表中的一个,而另一个检查用于一个选择区域)。

我的问题是,由于这个安全性不在原始的自定义授权属性之外,并且依赖于这个模块,我是应该创建一个新的自定义授权属性,还是应该修改原始属性?

我最初的想法是删除这个模块的类级装饰,然后将其应用于每个方法。使用此路径可以更多地将新逻辑添加到当前的自定义授权属性中。

然而,这里有一个问题。为管理员和只读用户执行此操作很好,但问题在于用户的情况。用户必须进行二次检查,以确定他们是否对将要查看的特定记录具有权限。如果不允许,则允许它们像只读用户一样在那里进行编辑.

由于这个子句,我不太确定是否有一个私有方法来进行检查和自定义授权属性。

任何方向或想法都将不胜感激。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-13 06:53:18

因此,经过仔细考虑后,我想出了以下解决方案。我没有添加到我所拥有的当前自定义授权属性中,因为这仅限于站点中的一个模块。

但是,我确实对用户可以访问的所有页面进行检查(不包括Post方法),以确定所有情况。

当用户是管理员时,他们可以获得修改访问权。如果它们是只读用户,则不允许它们修改访问权限.当它们是用户时,也会检查它们的权限,如果它们具有这些权限,则会给予它们修改访问权限。否则,它们将被视为只读用户。

我在会话中存储用户的角色和权限,以及如果他们有修改访问权限的话。如果找不到会话,我将返回并将它们添加回。如果用户的角色/权限在用户管理区域中被更新,我还会更新杀死这些会话。

另外,在修改某些内容的页面(Add/Edit/Delete)中,我添加了一个逻辑块,如果它们没有修改访问权限,它们将被引导到一个未经授权的访问页面。

到目前为止,这似乎进展顺利,到目前为止还没有出现任何问题。我更愿意在一个地方添加这个逻辑,比如类,但同时,我认为将它放在那里是不合适的,因为它只用于一个模块。谢谢。

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

https://stackoverflow.com/questions/41592237

复制
相关文章
Vue自定义组件-属性使用
自定义组件Button <template> <button> <span>{{ msg }}</span> </button> </template> <script> export default { props: { msg: { default: '下载' } } } </script> 组件使用 <template> <div id="myButton"> <ex-btn :msg="msg1"></ex-btn>
苦咖啡
2019/12/11
7430
CSS 自定义属性进阶使用 (二)
通常,为了实现可复用可定制的模块,我希望将某个实现抽象化。例如,下面这段CSS代码:
前端修罗场
2023/10/07
1780
CSS 自定义属性进阶使用 (二)
Django批量更新多个属性
有时候我们需要同时(一次性)更新某个用户的多条属性。 1. 用户model如下: class User(models.Model): UID = models.CharField('员工uid', max_length=200,) name = models.CharField('员工名字', max_length=200,) mobile = models.CharField('手机号', max_length=200,) mail = models.EmailField(u'邮箱', max_lengt
BigYoung小站
2020/05/04
2.1K0
使用CSS自定义属性实现骨架屏
其实这篇文章网上已经有翻译版本,但是读起来明显是机翻的,实在是受不了,于是就用自己的理解翻译了一下
coder_koala
2022/11/28
9480
使用CSS自定义属性实现骨架屏
【CSS】CSS自定义属性进阶使用(一)
在传统的CSS中,通常我们需要写重复的属性值,而自定义原则能让我们避免这种情况。做到“一处定义,处处使用”。
前端修罗场
2023/10/07
2440
[WCF权限控制]WCF自定义授权体系详解[实例篇]
在《原理篇》中,我们谈到WCF自定义授权体系具有两个核心的组件:AuthorizationPolicy和ServiceAuthorizationManager,已经它们是如何写作最终提供一种基于声明的授权实现。为了让自定义授权有深刻的理解,我们来进行一个简单实例来演示如何通过自定义这两个组件实现“非角色授权策略”。[源代码从这里下载] 目录: 一、创建演示程序解决方案 二、自定义AuthorizationPolicy 三、自定义ServiceAuthorizatio
蒋金楠
2018/01/16
9340
[WCF权限控制]WCF自定义授权体系详解[实例篇]
使用 data-* 属性来嵌入自定义数据:
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/112709.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/08
3320
[WCF权限控制]WCF自定义授权体系详解[原理篇]
到目前为止,我么介绍的授权策略都是围绕着安全主体进行的,基本上都是基于角色的授权。虽然角色是定义权限最为常用的形式,但是它解决不了授权的所有问题。基于角色的授权策略一般是这样的:需要进行访问控制的操作或者资源关联到某个角色上,那么只要访问者被分配了该角色,就被授予了相应的权限。那么假设我们的授权策略是这样的:访问权限和两个角色进行关联,访问者需要同时被分配了这两个角色才能被授权。这是一个很常见的授权策略,但是典型的基于单一角色的授权解决不了这个问题(除非为两个角色的交集创建新的角色)。而这仅仅是一种简单的授
蒋金楠
2018/01/16
8790
android自定义属性
1、引言 对于自定义属性,大家肯定都不陌生,遵循以下几步,就可以实现: 自定义一个CustomView(extends View )类 编写values/attrs.xml,在其中编写styleable和item等标签元素 在布局文件中CustomView使用自定义的属性(注意namespace) 在CustomView的构造方法中通过TypedArray获取 ps:如果你对上述几个步骤不熟悉,建议先熟悉下,再继续~ 那么,我有几个问题: 以上步骤是如何奏效的? styleable 的含义是什么?
xiangzhihong
2018/02/01
2.2K0
自定义属性操作
 element.属性 获取属性值。  element.getAttribute('属性');
梨涡浅笑
2020/10/27
7910
自定义属性操作
自定义属性目的:是为了保存并使用数据。有些数据可以保存到页面中而不用保存到数据库中。
星辰_大海
2020/09/30
8440
Google Rich Media中的多个授权绕过漏洞
在最近的一次安全测试过程中,我对Google的应用程序“Richmedia Studio”进行了安全测试,即Google的一个营销活动管理平台。在这篇文章中,我将跟大家分享我在Google Rich Media中发现的几个安全漏洞。
FB客服
2021/04/16
2.2K0
Google Rich Media中的多个授权绕过漏洞
[WCF权限控制]WCF自定义授权体系详解[原理篇]
到目前为止,我么介绍的授权策略都是围绕着安全主体进行的,基本上都是基于角色的授权。虽然角色是定义权限最为常用的形式,但是它解决不了授权的所有问题。基于角色的授权策略一般是这样的:需要进行访问控制的操作或者资源关联到某个角色上,那么只要访问者被分配了该角色,就被授予了相应的权限。那么假设我们的授权策略是这样的:访问权限和两个角色进行关联,访问者需要同时被分配了这两个角色才能被授权。这是一个很常见的授权策略,但是典型的基于单一角色的授权解决不了这个问题(除非为两个角色的交集创建新的角色)。而这仅仅是一种简单的授
蒋金楠
2018/01/16
8200
Android 自定义 view 之自定义布局属性 xml 属性
上一篇点击查看 https://blog.csdn.net/qq_43377749/article/details/91045764 我们讲到了自定义 view 的基本方式,但是我们也发现,使用这种方式,用户(广大程序员同胞们)只能使用父类控件的属性,但是我们有时需要更多的功能,比如:图片控件需要改变透明度,卡片控件需要设定阴影值等等,那么父类控件的属性显然不够用了,这时我们就要开始实现自定义布局。
圆号本昊
2021/09/24
1K0
Android 自定义 view 之自定义布局属性 xml 属性
造轮子之自定义授权策略
前面我们已经弄好了用户角色这块内容,接下来就是我们的授权策略。在asp.net core中提供了自定义的授权策略方案,我们可以按照需求自定义我们的权限过滤。 这里我的想法是,不需要在每个Controller或者Action打上AuthorizeAttribute,自动根据ControllerName和ActionName匹配授权。只需要在Controller基类打上一个AuthorizeAttribute,其他Controller除了需要匿名访问的,使用统一的ControllerName和ActionName匹配授权方案。 话不多说,开整。
饭勺oO
2023/10/18
2320
造轮子之自定义授权策略
[异常专栏]多个module打包异常提示BuildConfig属性重复
因为项目需要,有个业务需求需要一个app,改改主题,图片等将一个app打包三个,于是我就通过类似批量多渠道的方式将不同项目的资源放于多个不同的module中,打包时gradler中加了判断,打包出不同app。但是无独有偶,打包正式包的时候出现了如下错误,但是debug包运行无恙,找度娘半天各种解决的方法也有,都说是重复依赖包,于是检查了一遍每一个依赖,排除了这个原因后还是无法打包,问题依旧是这个,终于找到一个老哥的解决方法受到启发解决Program type already present: com.baidu.idl.facesdk.BuildConfig 是不是我的清单文件多个中也是,package这个配置出了重复呢?全局搜索检查,还真是,打包运行ok...
木溪bo
2020/06/18
2.4K0
[异常专栏]多个module打包异常提示BuildConfig属性重复
使用 Spring Security 5.1 客户端自定义授权和令牌请求
原文链接:https://www.baeldung.com/spring-security-custom-oauth-requests
用户1516716
2018/12/25
4.6K0
Angular 自定义属性指令
本文将使用 UltimateAngular/angular-pro-src 中的示例,来一步步介绍自定义属性指令的相关知识。在正式开发前,我们可以先看一下,最终效果 Stackblitz - Custom-Attribute-Directive。
阿宝哥
2019/11/05
2K0
JetBrains 家产品 自定义授权信息
以上这篇文章包含两种激活方式:1、授权码。2、激活补丁。具体请访问以上文章,有详细教程。
无道
2019/11/13
5570
springboot引用自定义属性
在application.yml 自定义 在需要引用到的变量声明处使用 @Value("${ficos.market-version}") 样例 @Value("${ficos.market-version}") public String mv="1.0"; 注意,如果变量声明在构造函数外,那么这里我运行的时候发现他晚于构造函数赋值 如果要在构造函数里面使用,这里是我查到的,没有试验过
全栈程序员站长
2021/04/07
4670

相似问题

如何使用自定义授权属性多次授权用户?

17

使用自定义属性处理未授权

10

写入自定义[授权]属性

11

自定义授权属性

21

自定义授权属性

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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