我在websphere安全性方面很陌生。在我的应用程序中,我有一个ejb,它具有以用户身份运行的安全设置。当我ping ejb时,它会使用runas配置中指定的用户执行方法。 是否有可能为servlet做同样的事情?我的意思是当用户从ui发送请求并且websphere从runas配置执行dopost / doget作为用户?
答案 0 :(得分:1)
如果您正在使用Servlet 3.1(Java EE 7),那么您可以在servlet类上使用@RunAs
注释。
例如,这组Servlet注释将允许Manager和Employee角色访问servlet并以Employee角色运行:
@RunAs("Employee")
@WebServlet("/myServlet")
@ServletSecurity(
httpMethodConstraints = {
@HttpMethodConstraint(value = "GET", rolesAllowed = "Manager"),
@HttpMethodConstraint(value = "GET", rolesAllowed = "Employee")
}
)
public class MyServlet extends HttpServlet {
// ...
}
有关RunAs配置的完整Liberty doc,请参阅此处:Configuring RunAs authentication in Liberty