Unterstützt Tomcat 7.0.6 bereits die Annotation von SevletSercurity in der Diener 3.0 -Spezifikation?

StackOverflow https://stackoverflow.com/questions/4789871

  •  24-10-2019
  •  | 
  •  

Frage

Ich habe mich mit der ServletSecurity -Annotation der SERVLAT 3.0 -Spezifikation in der Tomcat 7.0.6 verwendet, aber es scheint, dass Tomcat Server die ServletSecurity -Annotation nicht scannt. Der Code folgt,

@WebServlet(name="IndexServlet",urlPatterns={"/index"})
@DeclareRoles("ROLE_ADMIN")
@ServletSecurity(value=@HttpConstraint(rolesAllowed="ROLE_ADMIN"),httpMethodConstraints=@HttpMethodConstraint("GET"))
public class IndexServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  request.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(request, response);
 }

}

Gibt es also jemanden, der die ServletSecurity -Annotation in Tomcat 7 erfolgreich getestet hat? Oder der Tomcat 7 unterstützt die ServletSecurity -Annotation noch nicht?

Ich war ein paar Tage lang verwirrt über das Problem, also könnte es jemand für mich herausfinden? Jede Hilfe wird geschätzt.

War es hilfreich?

Lösung

Sie müssen entfernen httpMethodConstraints=@HttpMethodConstraint("GET")

Ein interessantes "Feature" in der Spezifikation ist, dass Krebs sind oder - nicht und. Also, wenn Sie anfordern /index Als Get - die Sicherheitsbeschränkung vergeht und die Rollenbeschränkungen werden ignoriert.

Eine Drittanbieterbibliothek wie SecurityFilter [ http://securityfilter.sourceforge.net/ ] wird wahrscheinlich eine bessere Arbeit bei der Bearbeitung von Einschränkungen leisten als die von der Servlet -Spezifikation bereitgestellten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top