본문 바로가기
IBM - old/WAS 문제&해결

Global security 는 On 되어 있는 상태에서 외부 서버로 부터 보안을 끈채(CSIv2 통신의 값을 TCP/IP 로) RMI/IIOP 호출시 SECJ0326E 발생

by freeman98 2016. 5. 30.

1. WAS 버전 : WAS All

2. OS : All

3. Error 발생 시점 : Global security 는 On 되어 있는 상태에서 외부 서버로 부터 RMI/IIOP call 이 이루어지고..
     내부 call 이라 보안을 사용하지 않도록 호출하는 쪽에서 CSIv2 통신의 값을 TCP/IP 로 변경한 후에 SECJ0326E 발생


4. Error message :
 
[10/30/06 12:11:03:686 EET] 00000052 RoleBasedAuth E SECJ0326E: No received or invocation credential exist on the thread. The Role based authorization check will not have an accessId of the caller to check. The parameters are: role name administrator. The stack trace is
java.lang.Exception: Invocation and received credentials are both null
at com.ibm.ws.security.role.RoleBasedAuthorizerImpl.isCallerInRole(RoleBasedAuthorizerImpl.java:505)
at com.ibm.ws.runtime.component.TxServiceImpl.authorized(TxServiceImpl.java:1950)
at com.ibm.ws.Transaction.JTS.WSCoordinatorImpl.commit_one_phase(WSCoordinatorImpl.java:217)
at com.ibm.ws.Transaction.JTS._WSCoordinatorImplBase._invoke(UnknownSource)
at com.ibm.CORBA.iiop.ServerDelegate.dispatchInvokeHandler(ServerDelegate.java:610)
at com.ibm.CORBA.iiop.ServerDelegate.dispatch(ServerDelegate.java:463)
at com.ibm.rmi.iiop.ORB.process(ORB.java:439)
at com.ibm.CORBA.iiop.ORB.process(ORB.java:1737)
at com.ibm.rmi.iiop.Connection.doWork(Connection.java:2300)
at com.ibm.rmi.iiop.WorkUnitImpl.doWork(WorkUnitImpl.java:65)
at com.ibm.ejs.oa.pool.PooledThread.run(ThreadPool.java:95)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1470)

5. 예상 이유 :
  Global Security 가 on 된 상태에서 보안을 사용하지 않기위해 강제로 CSIv2 레이어를 TCP/IP 로 설정했지만 해당 RMI/IIOP 요청이
  트랜잭션을 가진채 호출하면서 트랜잭션 보안 규약에 따라 보안을 거꾸로 요구하면서 Exception 발생

6. 조치 방안 :
   보안을 사용하지 않는 형태로 선언했기 때문에 하단과 같이 트랜잭션에서도 보안을 off 하면 됨

   Application servers > Your server > Container -> Transaction Service > Custom Properties 관리 화면에서
   하단의 custom property 추가
    Name: DISABLE_PROTOCOL_SECURITY
    Value: true

  http://jleap.wordpress.com/2006/11/06/role-based-authorization-failure-when-using-j2ee-transactions-in-websphere/

댓글