CAS 返回多个信息为空
Posted onCAS 返回多个信息为空 - - ITeye技术网站 (2)
liuzhiyi7288
CAS 返回多个信息为空 **
CAS client 端使用Filter 获得server端传回的信息,如果多个信息使用: Java代码
assertion.getPrincipal().getAttributes()
assertion.getPrincipal().getAttributes()来获得一个Map,但是有的时候Map中没有数据为null; 解决方案:配置deployerConfigContext.xml中名称为serviceRegistryDao的bean,如下 Java代码- <bean class="org.jasig.cas.services.RegisteredServiceImpl"
- p:id="1"
- p:description="test"
- p:serviceId="http://192.168.104.101:8080//*"
- p:enabled="true"
- p:ssoEnabled="true"
- p:anonymousAccess="false">
这个属性决定了我们在client端获得map是否为null,如果不配置该属性则为null,该属性配置我们返回多个信息对应的key; 此处对应CAS SERVER端源码如下 CentralAuthenticationServiceImpl.java: Java代码 // 获得deployerConfigContext.xml中serviceRegistryDao配置的registeredServices
- final RegisteredService registeredService = this.servicesManager
.findServiceBy(service);
// 获得deployerConfigContext.xml中serviceRegistryDao配置的registeredServices final RegisteredService registeredService = this.servicesManager .findServiceBy(service); allowwedAttributes配置对应的代码如下: Java代码///
- /* 从principal.getAttributes()获得map后,获取registeredService的allowedAttributes属性,
- /* 可以对应的key存入返回客户端信息的中map中
- /*/
- for (final String attribute : registeredService
- .getAllowedAttributes()) {
- final Object value = principal.getAttributes().get(
- attribute);
- if (value != null) {
- attributes.put(attribute, value);
- }
- }
- final Principal modifiedPrincipal = new SimplePrincipal(
- principalId, attributes);
- final MutableAuthentication mutableAuthentication = new MutableAuthentication(
- modifiedPrincipal);
/// / 从principal.getAttributes()获得map后,获取registeredService的allowedAttributes属性, / 可以对应的key存入返回客户端信息的中map中 /*/ for (final String attribute : registeredService .getAllowedAttributes()) { final Object value = principal.getAttributes().get( attribute); if (value != null) { attributes.put(attribute, value); } } final Principal modifiedPrincipal = new SimplePrincipal( principalId, attributes); final MutableAuthentication mutableAuthentication = new MutableAuthentication( modifiedPrincipal);; 希望对大家有所帮助 分享到:
CAS client 端添加初始化参数传到server端 | CAS 集成java 登录成功后空白页面
评论
1 楼 solomon 2011-10-31
不错,雪中送炭。
发表评论
liuzhiyi7288
- 浏览: 2639 次
- 性别:
- 来自: 北京
最近访客 更多访客>>
文章分类
存档分类
- 2012-01 (1)
- 2011-12 (1)
- 2011-10 (1)
-
评论排行榜
- from branch merge to trunk
- CAS 返回多个信息为空
- CAS 集成java 登录成功后空白页面
最新评论
- muqingren: 我没用过这个组件,抱歉 openOffice conversion failed: could not load input document
- muqingren: 辛苦 from branch merge to trunk
- muqingren: ... from branch merge to trunk
- chinacq: 我没有用到 XComponent document,但是上传有 ... openOffice conversion failed: could not load input document
- solomon: 不错,雪中送炭。 CAS 返回多个信息为空 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。若作者同意转载,必须以超链接形式标明文章原始出处和作者。 © 2003-2011 ITeye.com. All rights reserved. [ 京ICP证110151号 京公网安备110105010620 ]