【问题标题】:Return additional parameters or user attributes in GET response on service validation request在服务验证请求的 GET 响应中返回附加参数或用户属性
【发布时间】:2020-06-09 11:37:54
【问题描述】:

以下是对我的 GET 请求“http://localhost:8080/cas/p3/serviceValidate?service=http://localhost:8080/cas/v1/tickets/TGT-1-BzIAvxpfhaxZ1lHkkzWDXxpnTCweeollK7tnMR5OKXsE6Akfnw-cas01.example.org&ticket=ST-1-eNUEfrlGTcbOrukHewtR-cas01.example.org”的响应

回应

<cas:serviceResponse 
    xmlns:cas='http://www.yale.edu/tp/cas'>
    <cas:authenticationSuccess>
        <cas:user>casuser</cas:user>
    </cas:authenticationSuccess>
</cas:serviceResponse>

我们如何在 GET 响应中返回额外的参数或用户属性,看起来像下面这样?

预期

<cas:serviceResponse 
    xmlns:cas='http://www.yale.edu/tp/cas'>
    <cas:authenticationSuccess>
        <cas:user>casuser</cas:user>
        <cas:email>test@gmail.com<cas:email>
        <cas:firstname>First name<firstname>
        <cas:lastname>Lastname<cas:lastname>
    </cas:authenticationSuccess>
</cas:serviceResponse>

CAS 版本 4.0.0

【问题讨论】:

    标签: java cas


    【解决方案1】:

    根据 CAS 文档,

    属性由 Person Directory 项目控制,并通过 SAML 1.1 协议或 CAS 协议返回给范围服务。 Person Directory 依赖项自动与 CAS 服务器捆绑在一起。因此,不需要声明额外的依赖项。此 Person Directory 项目同时支持 LDAP 和 JDBC 属性发布、缓存、来自多个属性源的属性聚合等。

    属性通过两步过程:

    解决方案:在通过 PrincipalResolver 组件建立主体时完成,其中属性从下面概述的各种来源解析。

    发布:采用者必须为服务显式配置属性发布,以便在验证响应中将解析的属性发布到服务。

    一旦主体属性得到解决,采用者可以选择允许/释放注册表中每个定义的每个属性。示例配置如下:

    <bean class="org.jasig.cas.services.RegisteredServiceImpl">
      <property name="id" value="0" />
      <property name="name" value="HTTPS Services" />
      <property name="description" value="YOUR HTTP Service" />
      <property name="serviceId" value="https://**" />
      <property name="allowedAttributes">
        <list>
          <value>yourAttributeName</value>
        </list>              
      </property>
    </bean>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-09
      • 2019-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多