我来自 ASP.NET 背景,发现整个基于角色的授权方案至少可以说是有限的。我读过微软的新身份模型和基于声明架构的日内瓦框架,但它似乎过于复杂。
一般来说,我想更多地了解可能的授权架构,以找出最适合我的需求。
例如,如果您想创建应用程序范围的角色,例如“管理员”,那么应用程序范围的角色似乎就足够了。但是,如果我有 ie。具有项目实体的项目管理应用程序,其中每个项目都有自己的一组角色(例如项目 A 上的“编辑”和项目 B 上的“摄影师”)和相关权限。
有没有这方面的书可以推荐?
我来自 ASP.NET 背景,发现整个基于角色的授权方案至少可以说是有限的。我读过微软的新身份模型和基于声明架构的日内瓦框架,但它似乎过于复杂。
一般来说,我想更多地了解可能的授权架构,以找出最适合我的需求。
例如,如果您想创建应用程序范围的角色,例如“管理员”,那么应用程序范围的角色似乎就足够了。但是,如果我有 ie。具有项目实体的项目管理应用程序,其中每个项目都有自己的一组角色(例如项目 A 上的“编辑”和项目 B 上的“摄影师”)和相关权限。
有没有这方面的书可以推荐?
由于您来自 ASP.NET 背景,可能最专注于 ASP.NET 框架内安全/授权主题的书是:
使用 C# 和 VB 的专业 ASP.NET 3.5 安全性、成员资格和角色管理
(或者是针对 ASP.NET 2.0 等的先前版本)
还有老的:
但是,这些书将简单地详细介绍现有的身份验证和授权机制,因为它们存在于 ASP.NET 成员模型中,并且正如您所说,它们在很大程度上基于用户/角色设置。
如果您希望专注于 Microsoft/.NET 世界,那么值得研究可被 WCF(Windows Communication Foundation)等技术采用的联合安全模型的一件事。这种机制允许一种相对轻量级的安全管理方法,并且可以更轻松地完成您在示例中所追求的那种事情(项目A:编辑器/项目B:摄影师)。
这方面的一些链接是:
Federation(来自 MSDN)
Federation and Issued Tokens
patterns & practice: WCF Security Guidance
Learning WCF Book - Federated Security Section
如果您正在寻求一种与平台无关的更通用或通用的安全性和身份验证/授权机制方法,那么一些好的资源/书籍将是:
设计安全架构解决方案
(本书详细介绍了不同的安全概念和架构,不仅用于验证/授权用户,还用于代码访问安全等概念)
还有:
企业安全架构:业务驱动的方法
(顾名思义,它更侧重于“业务”,并且主要关注SABSA(Sherwood 应用业务安全架构)方法)