Single sign on SSO-在基于角色的应用程序中,我们是否始终需要将用户数据库保存在IdP和SPs中
我计划将simplesamlphp用作IdP。我有相当数量的用户数据库,可以“共享”5个不同的应用程序 目前,用户必须在每个应用程序上输入用户名和密码,这肯定不是我想要的。解决方案是保持独立的身份验证服务器,并使用SSO为5个不同的应用程序(作为服务提供商)提供服务 虽然应用程序可以共享相同的用户数据库,但服务完全不同,它们严重依赖于用户角色。让我们以两个应用程序为例:SP1和SP2 SP1是一个基于角色的系统。在任何时候,一个用户可以有5-6个角色,具体取决于应用程序的功能/提供信息 SP2是完全不同的,它可能只是drupal中的一个博客站点,我们希望在这里收集用户数据。我们将有一个最低限度的角色要求在这里 当用户进入SP1并试图获取受限页面时,他们将重定向到IdP,IdP可以对用户进行身份验证。若IdP中不存在用户,则返回false;否则返回到SP1,并带有一些相关属性。让我们假设,对于SP1,这是一个最新的用户,我们可以选择将该用户保存在SP1数据库中(事实上,我们应该将该用户绑定到SP1特定的角色),但是,我们将用户存储在两个位置:IdP和SP1 …SP2也是如此。在本例中,我们将用户存储在总共3个位置:IdP、SP1和SP2。我们得到的唯一好处是,用户不必输入SP2的用户名和密码,而是由我们的IdP自动处理 问题Single sign on SSO-在基于角色的应用程序中,我们是否始终需要将用户数据库保存在IdP和SPs中,single-sign-on,simplesamlphp,Single Sign On,Simplesamlphp,我计划将simplesamlphp用作IdP。我有相当数量的用户数据库,可以“共享”5个不同的应用程序 目前,用户必须在每个应用程序上输入用户名和密码,这肯定不是我想要的。解决方案是保持独立的身份验证服务器,并使用SSO为5个不同的应用程序(作为服务提供商)提供服务 虽然应用程序可以共享相同的用户数据库,但服务完全不同,它们严重依赖于用户角色。让我们以两个应用程序为例:SP1和SP2 SP1是一个基于角色的系统。在任何时候,一个用户可以有5-6个角色,具体取决于应用程序的功能/提供信息 SP2是
SAMLv2没有授权的概念,它是一种基于web的无Cookie SSO技术。XACML将是一种基于标准的授权/细粒度访问控制/授权技术 大多数应用程序都缺乏将内部RBAC系统映射到外部系统的能力 如果您依赖SAML断言中的信息,如属性语句(通常是这样做的),那么您需要有某种方法将属性值映射到应用程序的角色。如果无法更改应用程序以实现此类映射,则需要以某种方式设置身份和角色分配
通常,IdP实现允许为每个SAML SP实体指定不同的属性映射。Ok。我知道SAMLv2没有授权的概念。我将使用simplesamlphp对XACML进行更多研究。