Glassfish/Payara javax.ejb.AccessLocalException:未在server.log中对此调用授权的客户端

jam*_*mes 12 java glassfish java-ee glassfish-4 payara

我试图弄清楚我的动态网络应用程序的另一个异常的原因 - https://github.com/double-whammy/affablebean 我做了一个小改动,我得到了一个新的异常 - javax.ejb.AccessLocalException:Client not not授权进行此调用

在线答复说我做了以下 - http://ask.ozar.net/11/javax-accesslocalexception-client-authorized-invocation

尝试删除生成的策略文件.您应该能够在C:\ glassfish-3\glassfish\domains\domain1\generated\policy下找到它们.用domain1替换您的域名

另一个说更多 - http://glassfish.10926.n7.nabble.com/Persisting-Entity-javax-ejb-AccessLocalException-Client-not-authorized-for-this-invocation-td11197.html

您可以在domains/domainx/generated/policy /// {granted.policy,excluded.poliy}下找到策略文件.正授权在grant.policy中,否定授权在excluded.policy(如果有)中.(在domaninx,x = 1,2,3等...)

在grant.policy中查找"EJBMethodPermission的非限定授权,其中name =会话bean的EJbName;我认为可能是JpaPersonDao.并且使用适用于save方法的方法规范.


我尝试了第二个,我在glassfish文件夹下看到了很多文件夹:C:\ glassfish4\glassfish\domains\domain1\generated\policy

C:.
????AffableBean
?   ????AffableBean
?   ?       granted.policy
?   ?
?   ????AffableBean_internal
?           granted.policy
?
????__admingui
?   ????__admingui
?           excluded.policy
?           granted.policy
?
????__default-web-module
????__default-web-module
        granted.policy
Run Code Online (Sandbox Code Playgroud)

如您所见,有许多grant.policy文件.我应该修复哪一个?它是第一个文件夹下的那个吗?

Ila*_*ior 19

我认为根本问题是由于glassfish服务器的缓存,因为您在现有的EJB类中进行了一些修改.

要解决此问题,您只需要清除域文件夹中的"生成"文件夹/目录,然后重新启动glassfish服务器进行刷新.


小智 6

我通过重新部署应用程序解决了这个问题.在NetBeans中,右键单击该项目,然后选择"清理并生成".运行你的应用程序,瞧!