我知道SAML可用于用户身份验证,但用户的权限级别如何?它也可以用于授权吗? 如果没有,开源授权软件的最佳替代方案是什么?
答案 0 :(得分:4)
这取决于具体情况 - 您的应用程序,环境等.SAML是一种可用于交换任何信息的协议,包括与授权相关的“东西”。例如,在一个非常简单的基于角色的访问控制方案中,由身份提供者发布的SAML断言可以包含表示为属性的用户角色(或单个多值属性)。然后,服务提供者可以提取角色并使用它们来授权访问某些资源。
XACML是另一种协议,专门用于以可互操作和声明的方式处理访问控制的某些方面。它很少使用,它比SAML更不受欢迎。
oAuth通常用于授权访问,特别是在使用API的REST世界中。
oAuth和XACML都可以与SAML共存或独立使用。
答案 1 :(得分:4)
SAML未明确授权。它只是提供SAML令牌中的属性,并由应用程序决定如何处理这些属性。
WS-Federation也是如此。
对于OAuth2,它提供的“属性”有些限制。你还需要验证,例如OpenID Connect。