1
我在ejb-jar.xml中有以下配置;RMI調用受保護的EJB3方法失敗
<assembly-descriptor>
<security-role>
<role-name>userRole</role-name>
</security-role>
<method-permission>
<role-name>userRole</role-name>
<method>
<ejb-name>MyBean</ejb-name>
<method-name>*</method-name>
</method>
</method-permission>
</assembly-descriptor>
而且我已經配置在我的jboss.xml以下爲安全域(含我已經添加如下額外的用戶默認域;
....
<security-domain>java:/jaas/JBossWS</security-domain>
...
User Properties Files Have Following;
SSOUSER=123456
User Roles Files have Following;
SSOUSER=userRole
我已經寫folliwing代碼在我的客戶端連接到JNP;
Hashtable environment = new Hashtable();
environment.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
environment.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
environment.put(Context.PROVIDER_URL, "jnp://127.0.0.1:1099"); // remote machine IP
environment.put(Context.SECURITY_PRINCIPAL, "SSOUSER"); // User Context
environment.put(Context.SECURITY_CREDENTIALS, "123456");
和JBoss控制檯上收到以下錯誤,而試圖訪問bean的方法(查找工程確定,當我嘗試調用方法,我獲得以下);
16:43:42,987 ERROR [RoleBasedAuthorizationInterceptor] Insufficient permissions, principal=null, requiredRoles=[userRole], principalRoles=[]
我的配置中是否有缺失的東西?
感謝
-
Sjunejo