在服务验证请求的GET响应中返回附加参数或用户属性。

问题描述 投票:0回答:1

以下是对我的GET请求的回应"http:/localhost:8080casp3serviceValidate?service=http:/localhost:8080casv1ticketsTGT-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>[email protected]<cas:email>
        <cas:firstname>First name<firstname>
        <cas:lastname>Lastname<cas:lastname>
    </cas:authenticationSuccess>
</cas:serviceResponse>

CAS版本4.0.0

java cas
1个回答
0
投票

根据中科院的文件。

属性由 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>
© www.soinside.com 2019 - 2024. All rights reserved.