首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数据特权的设计模式

数据特权的设计模式
EN

Software Engineering用户
提问于 2013-04-14 18:31:40
回答 2查看 6.8K关注 0票数 3

我正在设计一个金融系统,它应该根据角色和特权授予对数据的访问权限。例如,经理可以在其域中查看用户的财务事务,但看不到有关其他事务的信息。虽然可以临时实现,但我想知道是否有实现这种工具的模式或指导方针。

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2013-04-14 18:36:33

代理模式有几个用途,其中一个是专门为访问控制设计的。C2 Wiki还讨论了代理模式及其变体,更具体地说是保护代理

当客户端发出请求时,它将通过代理转发,代理将包含您的权限检查和访问控制。如果请求有效,结果将通过代理从RealSubject返回。

票数 5
EN

Software Engineering用户

发布于 2013-04-15 08:13:14

如果您正在设计一个新的系统(而不是改造恐龙),您可能需要研究基于索赔的身份验证系统。它非常通用,是身份验证中的下一个大动作。它的实现现在正在许多平台上推广,并且取决于您选择使用的技术,甚至可能得到应用程序的支持,直到后端。

编辑:更多的信息。

据我所知,微软是唯一通过Windows基金会将基于索赔的身份支持直接集成到.NET框架中的家族。我所说的跨平台实现的意思是,基于声明的身份模型作为一种设计模式正在跨平台实现。此时,它主要是通过开源项目或自定义实现来实现的,但是这种模式甚至存在于OAuth2协议中。

基于声明的标识背后的理念是支持单一的登录设计,而不是强迫实现依赖于任何一个用户存储。我认为这个想法是从Java设计中成熟出来的。这样做的想法是,应用程序不依赖于严格使用主机应用程序维护凭据的用户,而是允许从“可信”来源提供用户的凭据。一项声明就是。这是来自可信来源的关于用户的声明。一个索赔意识到的身份可以持有许多索赔,所有不同的性质和索赔可以是任何被认为是可识别的,也可以是描述用户的属性(电子邮件、地址、国家、电话号码或许多其他可能性)。这些声明通过作为受信任源的安全令牌服务进行管理。

我在这里跳过一些要点是为了保持简短和甜蜜,但我向您提出这个想法的原因是,这种模式真的可以应用于任何可以处理http请求的东西,因此它可以被应用到任何能够使用http的框架中。

下面是2篇关于基于身份模型的声明的文章。第一个是有点过时(我相信2009年),但它有一个非常温和和容易理解的概念解释。第二部分是微软对它们的实现、模式及其自我的描述,以及如何使用这种跨领域的讨论。(很长.哈哈,但这是值得一读的)

http://muhammad-ahsan.blogspot.ca/2009/03/claims-based-identity-model.html

http://msdn.microsoft.com/en-us/library/ff359108.aspx

希望这能帮助并激发一些新的想法:)

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

https://softwareengineering.stackexchange.com/questions/194899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档