我正在使用Active Directory用户信息,ADFS进行身份验证和SSO,和几个自定义应用程序的所有的ASP.NET MVC内置的项目。
授权模式是索赔和基于角色的; 也就是说,用户的角色是作为索赔相关的应用程序访问,通过由ADFS(使用WIF)发布的令牌。
每个角色都有权限对应用程序的各种资源定义的列表(即角色管理员拥有写入权限对资源X)。 我们有基本的授权模型与一些硬编码的权限,运作良好。
我的问题是:什么是最好的方法/地方来存储各种角色的实际权限? 可以这样ADFS内完成或将需要一个单独的存储(我猜是后者)? 权限遵循同样的模式为XACML(用户/角色:资源:动作)和XACML的解决方案可能会是很容易合并,但XACML(XACML.NET)最流行的.NET实现似乎使用XML作为唯一这不会是可行的存储机制(我们有很多资源来存储权限反对 - 可能数以千计)。
什么人使用呢? 最明显的解决方案似乎是只存储在SQL Server,但考虑到所有用于身份验证的准备构建的解决方案(特别是使用ADFS和WIF)三胞胎它似乎很奇怪,有一个为实际执行授权和权限,使小(明显)的信息。 我在网上找到的所有示例停止在很短的权限级别解释的事情。