Java EJB身份验证
下面是我试图做的:我有一个身份验证EJB,它可以通过验证用户名和密码向用户授予一对密钥和令牌。客户端应该在每次调用时将票据传递给远程EJB,这样的票据应该能够通过EJB方法获取,或者interceptor和EJB/或interceptor应该验证票据并确定调用是否有效 我不想将ticket作为参数添加到每个需要身份验证的函数中,我相信应该有一种方法来实现这一点。我已经阅读了几篇关于JAAS自定义登录模块的文章,但仍然找不到一种非特定于供应商的方法来实现这一点。我试图避免特定于供应商的实现Java EJB身份验证,java,ejb,jaas,Java,Ejb,Jaas,下面是我试图做的:我有一个身份验证EJB,它可以通过验证用户名和密码向用户授予一对密钥和令牌。客户端应该在每次调用时将票据传递给远程EJB,这样的票据应该能够通过EJB方法获取,或者interceptor和EJB/或interceptor应该验证票据并确定调用是否有效 我不想将ticket作为参数添加到每个需要身份验证的函数中,我相信应该有一种方法来实现这一点。我已经阅读了几篇关于JAAS自定义登录模块的文章,但仍然找不到一种非特定于供应商的方法来实现这一点。我试图避免特定于供应商的实现 如
如果JAAS不能完成这项工作,EJB中是否有类似于header的内容?您不能只使用角色来执行此授权吗?与其将票证授予用户,不如为其分配一个角色
然后,只需使用内置的功能来检查用户是否在角色中。尽管我同意@EdH,即使用@RunAs,但您可以通过向EJB上下文添加令牌来完成您想要的任务 Red Hat通过使用界面做了类似的事情。 通过查看实现EJBClient接收器的代码,您可以了解如何在客户端修改EJB上下文并添加令牌: context.setReceiverInvocationContextnew ejbReceiverInvocationContext、receiverContext context.sendRequest