【问题标题】:Jasig CAS - How to fetch different roles when accessing different applications?Jasig CAS - 访问不同的应用程序时如何获取不同的角色?
【发布时间】:2013-03-12 11:42:12
【问题描述】:

每当更改应用程序时,我都需要 CAS 从服务器获取一组新角色(该特定应用程序的角色集)。有办法吗?

就像今天一样,它获取第一个应用程序的角色(让我们将其命名为 A),当我访问应用程序 B 时,我只能看到应用程序 A 的角色,这给了我一个 403(拒绝访问)错误代码。

例如:

产品 A 具有以下角色:ADMIN、MANAGER 和 STAFF。

产品 B 具有以下角色:ADMIN、BACKOFFICE、FRONTOFFICE。

当我访问产品 A 时,第一个 CAS 检测到用户正在通过产品 A 访问 int 并将其三个角色放入会话中,产品 A 一切正常。

在我访问产品 B 之后,CAS 看到我有一张有效的票证并授予我对产品 B 的访问权限,但它没有再次获取产品 B 的角色(ADMIN、BACKOFFICE 和 FRONTOFFICE),而是保留了来自 Produca A 的角色(管理员、经理、员工)。

【问题讨论】:

    标签: spring authentication cas jasig


    【解决方案1】:

    我不确定是否清楚地了解您的需求。不过,您可以管理 CAS 服务器返回给不同应用程序的属性,因此可以按照以下文档计算适当的角色:https://wiki.jasig.org/display/CASUM/Attributes

    【讨论】:

    • 我编辑了这个问题,添加了更多细节。当我们第一次登录时,可能会为每个应用程序获取每个角色,但这不是我们想要的。
    • 用户属性在 CAS 登录时检索一次。如果你想在你的 web 应用程序中获取额外的角色,我建议你从你的 web 应用程序中获取它们(这样,CAS = 身份验证,webapp = 授权)
    猜你喜欢
    • 2017-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-09
    • 2016-07-01
    相关资源
    最近更新 更多