@RunAs에 관해 간단한 질문이 있습니다.서블릿에서 @RunAs 주석 사용
EJB 외에도 Servlet에서 @RunAs를 사용하여 보안 역할을 전파 할 수 있습니까? 예를 들어 같이
@WebServlet(name = "RunAsServlet", urlPatterns = "/runAs")
@RunAs("Admin")
public class RunAsServlet extends HttpServlet {
@EJB
private MyEjb ejb;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().write(ejb.doSomething());
}
}
그리고는 EJB가 보호 역할에서 "관리":
나는 공공 서블릿이
@Stateless
@RolesAllowed("Admin")
public class MyEjb {
@Resource
private SessionContext sessionContext;
public String doSomething() {
이 경우를, 내가 전화를 할 수 있어야한다 RunAsServlet은 @RunAs가 있기 때문에, 웹 요청으로부터 EJB 보호 메소드를 호출하는 적절한 역할 "Admin"을 가져야합니다.이 예제에 대해 필자는 맞습니까? 아니면 다른 구성이 더 필요합니까?
덕분에,