BIEE11.1.1.7.0 使用外部用户表报错

0
参考:http://www.flybi.net/article/452
BIEE版本:BIEE11.1.1.7.0
结果用户可以正常登录,但后台报错:测试用户名为test
控制台输入错误如下:
 <Error><oracle.webservices.service><OWS-04115><以下端口出错:{http://oracle/bi/security/}SecurityWebServicePort:oracle.fabric.common.PolicyEnforcementexception:FailedAuthentication:无法验证安全标记。。>
<Warnining><oracle.bi.security.service><OBI-SEC-00046><Invalid external roles >

 AdminServer-diagnostic.log中的详细错误如下:

[2016-03-03T19:06:30.473+08:00] [AdminServer] [ERROR] [WSM-00006] [oracle.wsm.resources.security] [tid: [ACTIVE].ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: d0a3ae071e70ddc0:3c4acc15:1533c1f675e:-8000-000000000000024d,0:1:1:8:1] [APP: bisecurity#11.1.1] [J2EE_APP.name: bisecurity_11.1.1] [J2EE_MODULE.name: bisecurity] [WEBSERVICE.name: SecurityWebService] [WEBSERVICE_PORT.name: SecurityWebServicePort] [WSM_POLICY_NAME: oracle/wss_username_token_service_policy] 接收请求时出错: oracle.wsm.security.SecurityException: WSM-00008 : Web service authentication failed.。
[2016-03-03T19:06:30.475+08:00] [AdminServer] [ERROR] [WSM-07607] [oracle.wsm.resources.enforcement] [tid: [ACTIVE].ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: d0a3ae071e70ddc0:3c4acc15:1533c1f675e:-8000-000000000000024d,0:1:1:8:1] [APP: bisecurity#11.1.1] [J2EE_APP.name: bisecurity_11.1.1] [J2EE_MODULE.name: bisecurity] [WEBSERVICE.name: SecurityWebService] [WEBSERVICE_PORT.name: SecurityWebServicePort] [WSM_POLICY_NAME: oracle/wss_username_token_service_policy] 未能执行断言 {http://schemas.oracle.com/ws/2 ... olicy}wss-username-token 执行程序类 oracle.wsm.security.policy.scenario.executor.WssUsernameTokenScenarioExecutor。
[2016-03-03T19:06:30.477+08:00] [AdminServer] [ERROR] [WSM-07602] [oracle.wsm.resources.enforcement] [tid: [ACTIVE].ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: d0a3ae071e70ddc0:3c4acc15:1533c1f675e:-8000-000000000000024d,0:1:1:8:1] [APP: bisecurity#11.1.1] [J2EE_APP.name: bisecurity_11.1.1] [J2EE_MODULE.name: bisecurity] [WEBSERVICE.name: SecurityWebService] [WEBSERVICE_PORT.name: SecurityWebServicePort] [WSM_POLICY_NAME: oracle/wss_username_token_service_policy] 由于异常错误, 未能执行 WS-Policy。
[2016-03-03T19:06:30.478+08:00] [AdminServer] [ERROR] [WSM-07501] [oracle.wsm.resources.enforcement] [tid: [ACTIVE].ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: d0a3ae071e70ddc0:3c4acc15:1533c1f675e:-8000-000000000000024d,0:1:1:8:1] [APP: bisecurity#11.1.1] [J2EE_APP.name: bisecurity_11.1.1] [J2EE_MODULE.name: bisecurity] [WEBSERVICE.name: SecurityWebService] [WEBSERVICE_PORT.name: SecurityWebServicePort] [WSM_POLICY_NAME: oracle/wss_username_token_service_policy] Oracle WSM 代理 processRequest 失败, 类别=security, 函数=agent.function.service, 应用程序=bisecurity_11.1.1, 组合=null, modelObj=SecurityWebService, 策略=oracle/wss_username_token_service_policy, policyVersion=null, assertionName={http://schemas.oracle.com/ws/2 ... olicy}wss-username-token。
[2016-03-03T19:06:30.496+08:00] [AdminServer] [ERROR] [OWS-04086] [oracle.webservices.service] [tid: [ACTIVE].ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: d0a3ae071e70ddc0:3c4acc15:1533c1f675e:-8000-000000000000024d,0:1:1:8:1] [APP: bisecurity#11.1.1] oracle.fabric.common.PolicyEnforcementException: FailedAuthentication : 无法验证安全标记。[[
 at oracle.fabric.common.AbstractSecurityInterceptor.processResult(AbstractSecurityInterceptor.java:180)
 at oracle.fabric.common.BindingSecurityInterceptor.processRequest(BindingSecurityInterceptor.java:95)
 at oracle.integration.platform.common.InterceptorChainImpl.processRequest(InterceptorChainImpl.java:129)
 at oracle.integration.platform.common.mgmt.InterceptorChainManager.processRequest(InterceptorChainManager.java:276)
 at oracle.j2ee.ws.server.mgmt.runtime.SuperServerInterceptorPipeline.handleRequest(SuperServerInterceptorPipeline.java:165)
 at oracle.j2ee.ws.server.provider.management.AbstractProviderInterceptorPipeline.executeRequestInterceptorChain(AbstractProviderInterceptorPipeline.java:576)
 at oracle.j2ee.ws.server.provider.ProviderProcessor.executeInterceptorRequestChain(ProviderProcessor.java:921)
 at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:233)
 at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:195)
 at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:487)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
 at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
 at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
 at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
 at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
 at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
 at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
 at java.security.AccessController.doPrivileged(Native Method)
 at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:324)
 at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)
 at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
 at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
 at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
 at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
 at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
 at java.security.AccessController.doPrivileged(Native Method)
 at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:324)
 at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)
 at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
 at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
 at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
 at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
 at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:163)
 at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
 at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
 at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
 at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
 at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
 at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
 at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
 at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
 at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
 at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Caused by: oracle.wsm.common.sdk.WSMException: FailedAuthentication : 无法验证安全标记。
 at oracle.wsm.security.policy.scenario.executor.WssUsernameTokenScenarioExecutor.receiveRequest(WssUsernameTokenScenarioExecutor.java:198)
 at oracle.wsm.security.policy.scenario.executor.SecurityScenarioExecutor.execute(SecurityScenarioExecutor.java:832)
 at oracle.wsm.policyengine.impl.runtime.AssertionExecutor.execute(AssertionExecutor.java:41)
 at oracle.wsm.policyengine.impl.runtime.WSPolicyRuntimeExecutor.executeSimpleAssertion(WSPolicyRuntimeExecutor.java:425)
 at oracle.wsm.policyengine.impl.runtime.WSPolicyRuntimeExecutor.executeAndAssertion(WSPolicyRuntimeExecutor.java:344)
 at oracle.wsm.policyengine.impl.runtime.WSPolicyRuntimeExecutor.execute(WSPolicyRuntimeExecutor.java:291)
 at oracle.wsm.policyengine.impl.PolicyExecutionEngine.execute(PolicyExecutionEngine.java:102)
 at oracle.wsm.agent.WSMAgent.processCommon(WSMAgent.java:1059)
 at oracle.wsm.agent.WSMAgent.processRequest(WSMAgent.java:489)
 at oracle.fabric.common.BindingSecurityInterceptor.processRequest(BindingSecurityInterceptor.java:94)
 ... 42 more
Caused by: oracle.wsm.security.SecurityException: WSM-00008 : Web 服务验证失败。
 at oracle.wsm.security.jps.JpsManager.authenticate(JpsManager.java:190)
 at oracle.wsm.security.jps.JpsManager.basicAuthenticate(JpsManager.java:265)
 at oracle.wsm.security.policy.scenario.executor.WssUsernameTokenScenarioExecutor.receiveRequest(WssUsernameTokenScenarioExecutor.java:157)
 ... 51 more
Caused by: javax.security.auth.login.LoginException: [Security:090304]Authentication Failed: User test javax.security.auth.login.FailedLoginException: [Security:090302]Authentication Failed: User test denied
 at oracle.security.jps.internal.jaas.module.authentication.JpsUserAuthenticationLoginModule.login(JpsUserAuthenticationLoginModule.java:71)
 at sun.reflect.GeneratedMethodAccessor481.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
 at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
 at javax.security.auth.login.LoginContext$5.run(LoginContext.java:706)
 at java.security.AccessController.doPrivileged(Native Method)
 at javax.security.auth.login.LoginContext.invokeCreatorPriv(LoginContext.java:703)
 at javax.security.auth.login.LoginContext.login(LoginContext.java:575)
 at oracle.wsm.security.jps.JpsManager.authenticate(JpsManager.java:184)
 ... 53 more
Caused by: oracle.security.jps.internal.jaas.module.AuthenticationException: [Security:090304]Authentication Failed: User test javax.security.auth.login.FailedLoginException: [Security:090302]Authentication Failed: User test denied
 at oracle.security.jps.wls.jaas.module.authentication.WlsUserAuthenticator.authenticate(WlsUserAuthenticator.java:61)
 at oracle.security.jps.internal.jaas.module.authentication.JpsUserAuthenticationLoginModule.login(JpsUserAuthenticationLoginModule.java:62)
 ... 63 more
Caused by: javax.security.auth.login.FailedLoginException: [Security:090304]Authentication Failed: User test javax.security.auth.login.FailedLoginException: [Security:090302]Authentication Failed: User test denied
 at weblogic.security.providers.authentication.LDAPAtnLoginModuleImpl.login(LDAPAtnLoginModuleImpl.java:261)
 at com.bea.common.security.internal.service.LoginModuleWrapper$1.run(LoginModuleWrapper.java:110)
 at java.security.AccessController.doPrivileged(Native Method)
 at com.bea.common.security.internal.service.LoginModuleWrapper.login(LoginModuleWrapper.java:106)
 at sun.reflect.GeneratedMethodAccessor473.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
 at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
 at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
 at java.security.AccessController.doPrivileged(Native Method)
 at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
 at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
 at com.bea.common.security.internal.service.JAASLoginServiceImpl.login(JAASLoginServiceImpl.java:113)
 at sun.reflect.GeneratedMethodAccessor471.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at com.bea.common.security.internal.utils.Delegator$ProxyInvocationHandler.invoke(Delegator.java:57)
 at $Proxy36.login(Unknown Source)
 at weblogic.security.service.internal.WLSJAASLoginServiceImpl$ServiceImpl.login(WLSJAASLoginServiceImpl.java:89)
 at com.bea.common.security.internal.service.JAASAuthenticationServiceImpl.authenticate(JAASAuthenticationServiceImpl.java:82)
 at sun.reflect.GeneratedMethodAccessor475.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at com.bea.common.security.internal.utils.Delegator$ProxyInvocationHandler.invoke(Delegator.java:57)
 at $Proxy54.authenticate(Unknown Source)
 at weblogic.security.service.WLSJAASAuthenticationServiceWrapper.authenticate(WLSJAASAuthenticationServiceWrapper.java:40)
 at weblogic.security.service.PrincipalAuthenticator.authenticate(PrincipalAuthenticator.java:348)
 at weblogic.security.services.Authentication.doLogin(Authentication.java:133)
 at weblogic.security.services.Authentication.login(Authentication.java:74)
 at weblogic.security.services.Authentication.login(Authentication.java:51)
 at oracle.security.jps.wls.jaas.module.authentication.WlsUserAuthenticator.authenticate(WlsUserAuthenticator.java:56)
 ... 64 more

]]
[2016-03-03T19:06:30.504+08:00] [AdminServer] [ERROR] [OWS-04115] [oracle.webservices.service] [tid: [ACTIVE].ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: d0a3ae071e70ddc0:3c4acc15:1533c1f675e:-8000-000000000000024d,0:1:1:8:1] [APP: bisecurity#11.1.1] 以下端口出错: {http://oracle/bi/security/}SecurityWebServicePort: oracle.fabric.common.PolicyEnforcementException: FailedAuthentication : 无法验证安全标记。。
[2016-03-03T19:06:30.678+08:00] [AdminServer] [WARNING] [OBI-SEC-00046] [oracle.bi.security.service] [tid: [ACTIVE].ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: BISystemUser] [ecid: d0a3ae071e70ddc0:3c4acc15:1533c1f675e:-8000-000000000000024d,0:1:1:8:7] [APP: bisecurity#11.1.1] [J2EE_APP.name: bisecurity_11.1.1] [J2EE_MODULE.name: bisecurity] [WEBSERVICE.name: SecurityWebService] [WEBSERVICE_PORT.name: SecurityWebServicePort] Invalid external roles [ ]

附步骤:
1.在console中新建组:R06PD
2.在EM中新建应用程序角色:R06PD
3. 新建用户表
create table BIEE_USER
(
  user_name  VARCHAR2(100) not null,--用户名
  password   VARCHAR2(100),--密码
  real_name  VARCHAR2(100),
  email      VARCHAR2(100),
  group_name VARCHAR2(500),
  role_name  VARCHAR2(500)--角色
)
添加用户:
1.png

4.资料库操作:
4.1 新建连接池
conn_update
4.2 新建会话变量初始化块
数据源:
select t.user_name USERS, t.password,  t.role_name roles
  from BI_DM.BIEE_USER t
 where t.user_name = ':USER'
   and t.password = ':PASSWORD'
数据目标:
USER
PASSWORD
ROLES
如图:

2.png


 
已邀请:
0

yaya234 - 一句话介绍 2016-03-17 回答

有人遇过类似问题吗?
0

铁皮罐头 - BIEE独立顾问 2016-04-04 回答

你需要把你的RPD操作过程贴出来
0

ddwolf715 2017-05-05 回答

HI,你好,这个问题解决了吗?我今天也遇到同样的问题了,您是如何解决的?谢谢了。
0

beijingxiaoi - 很高兴跟前辈们一起学习BI。 2017-11-23 回答

你好,我现在也遇到这个问题了,请问您当时是怎么解决的?

要回复问题请先登录注册