EJB3 @RunAs注释和安全性

时间:2014-11-06 07:13:41

标签: java security servlets ejb

@RunAs注释允许通过仅指定角色的名称来访问bean。这意味着任何能够轻松访问我的bean的外部客户端只是指向角色名称,不是吗?

我认为调用者和bean位于不同的服务器上。

那么@RunAs需要什么,如果它很容易伪造客户端? 或者如果我错了怎么用呢?

1 个答案:

答案 0 :(得分:2)

有点不同。有关详细信息和示例,请参阅WebSphere Application Server V7.0 Security Guide中的第9.6章。

  

当bean调用另一个bean中的方法时,调用者的身份   默认情况下,传播到下一个。这样,所有EJB方法   在调用链中,如果要调用它,请查看相同的主体   getCallerPrincipal()方法。

     

但是,有时候,一个EJB需要调用另一个EJB   具有先前定义的身份,例如,一个是   特定角色的成员。

@RunAs注释定义将用于委派的角色。您仍然可以使用@RolesAllowed

保护第一个bean

在应用程序部署期间,必须将此runAsRole映射到用户注册表中的实际用户。