IdentityServer3 - 扩展声明/角色 - 将属性添加到权限

时间:2016-04-06 18:01:22

标签: identityserver3

我们正在将我们的销售网站管理工具套件从独立迁移到Web界面。我们的设计有一个网站所有者通过我们的主要门户网站登录,然后选择我们的一个子应用程序来管理基本网站内容,他们的库存,他们的跟踪脚本标签等等。我正在研究IdentityServer3以查看它是否将作为我们的SSO解决方案。

棘手的部分是每个应用程序需要知道给定用户在登录后有哪些权限。用户可能拥有网站1和2的管理员权限,但只有网站上的查看权限3.有没有办法扩展声明以表示用户对某个网站具有某种角色?即使只是为角色/声明添加“id”属性也足够了。我们为每个网站创建单独的角色是不可行的(我们将推出几百个),除非有办法避免必须在客户端单独授权它们。也许有一种方法来构建角色名称并使用自定义ResourceAuthorizationManager来解析我们需要的信息?我们还必须能够使用其他身份信息在子应用程序周围传递此信息,但作为用户在其声明中具有的特定角色的一部分,以便客户端可以访问用户具有权限的网站对

1 个答案:

答案 0 :(得分:0)

IdentityServer - 顾名思义 - 是关于身份 - 而不是权限。

identityserver的工作是为一个或多个应用程序提供稳定一致的身份。

应该在应用程序本身处理所有特定应用程序(如权限)。

你可以,例如创建一个单独的权限服务(由身份服务器保护),允许您的应用程序在应用程序的上下文中检索用户的权限并将其提供给授权逻辑。