通过Interceptor

时间:2016-12-15 17:04:57

标签: java-ee logging ejb interceptor security-roles

我尝试记录有关基于EJB的JEE应用程序的一些安全信息。因此,我特别想要记录在什么时间调用哪个方法以及哪个用户试图调用它。

目前我只编写了一个Interceptor,注入了SessionContext,因此通过SessionContext.getCallerPrincipal()和InvocationContext.getMethod()进行登录。

问题是我还想记录试图调用不允许使用的方法的用户。因此,如果一个方法只允许通过@RolesAllowed用于用户组"经理",而是该组的用户"员工"试图调用它,永远不会调用拦截器日志记录方法,因为应用程序服务器已经首先限制了业务方法调用,因此我的拦截器中的日志记录方法永远不会被触发。

是否有办法记录此类信息,包括因安全限制而导致的通话失败?这些方法调出某些权限实际上是我记录的最有趣的事情。

非常感谢你的时间。

0 个答案:

没有答案