2014-02-10 48 views
0

在我正在处理的项目中,我们有一个自定义的标识声明者属性映射器类,它实现了SAMLIdentityAssertionAttributeMapper接口。该课程实施方法mapAttributeInfoWeblogic 10.3.6 jar无法找到ContextElementDictionary.SAML_ATTRIBUTE_PRINCIPALS

的文档指出以下几点:

“无效mapAttributeInfo(收藏attrStmtInfos, 的ContextHandler ContextHandler中)从SAMLAttributeStatementInfo收集

地图本金的收藏这个接口的实现,预计新增集合。的上下文处理程序名称ContextElementDictionary.SAML_ATTRIBUTE_PRINCIPALS“(http://docs.oracle.com/cd/E23943_01/apirefs.1111/e13941/weblogic/security/providers/saml/SAMLIdentityAssertionAttributeMapper.html

当项目在WebLogic 10.3.2上运行时,此行正在完成TLY:

((SecurityTokenContextHandler)contextHandler).addContextElement(ContextElementDictionary.SAML_ATTRIBUTE_PRINCIPALS, principals); 

现在,该项目应该在WebLogic 10.3.6上运行,并使用10.3.6罐子,我无法找到包含ContextElementDictionary.SAML_ATTRIBUTE_PRINCIPALS一个罐子。不幸的是,当使用Google搜索ContextElementDictionary时,我无法在8个搜索结果中找到解决方案。

回答

0

这更是一个评论,但太长张贴这样...

ContextElementDictionary存在于默认weblogic.jar文件。看到以下结果:

jar -tf /opt/ora/mw/wlserver_10.3/server/lib/weblogic.jar | grep ContextElementD 

weblogic/security/utils/ContextElementDictionary.class 

然而,这个类似乎并没有包含ContextElementDictionary.SAML_ATTRIBUTE_PRINCIPALS当我做了:

strings weblogic/security/utils/ContextElementDictionary.class 

也许比较这两个jar文件和这两个类,看看什么改变。

+0

确实,那是我遇到的问题。对于10.3.2,该类可以在这个包中找到:'com.bea.common.security.utils.ContextElementDictionary'。对于10.3.6,我在这里找到它:'weblogic.security.utils.ContextElementDictionary' – Kuurde