J'utilise JAX-RS Jersey comme contrôleur et les JSP pour ma vue. Voici un exemple:Java Servlets, JAX-RS - Je n'arrive pas à utiliser l'authentification basée sur les formulaires
@Path("/")
@Stateless
public class HomeController {
@Context
private HttpServletRequest request;
@EJB
private EmployeeServiceLocal employeeService;
@GET
public Viewable getHomePage() {
Employee employee = employeeService.getEmployeeById(1);
request.setAttribute("employee", employee);
return new Viewable("/home.jsp", null);
}
}
Tout a fonctionné bien et dandy jusqu'à ce que j'essaye d'implémenter l'authentification en utilisant JAAS. Je crois que ce qui se passe est que mes filtres empêchent le serveur de traiter ma requête j_security_check (j'utilise l'authentification basée sur un formulaire avec un jdbcRealm). La raison pour laquelle je crois que c'est parce que je reçois l'erreur ci-dessous lors de la présentation de mon formulaire de connexion:
The requested resource() is not available.
Est-ce que ce sens? Comment puis-je faire en sorte que mon filtre ne soit pas appliqué à/j_security_check?
Voici ma configuration de filtre dans web.xml
<filter>
<filter-name>Jersey Filter</filter-name>
<filter-class>com.sun.jersey.spi.container.servlet.ServletContainer</filter-class>
<init-param>
<param-name>com.sun.jersey.config.feature.Redirect</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>cheetah.frontend.controllers</param-value>
</init-param>
<!-- pass to next filter if Jersey/App returns 404 -->
<init-param>
<param-name>com.sun.jersey.config.feature.FilterForwardOn404</param-name>
<param-value>true</param-value>
</init-param>
<!-- match regex to determine if Jersey/App is invoked or pass to next filter -->
<init-param>
<param-name>com.sun.jersey.config.property.WebPageContentRegex</param-name>
<param-value>/(images|css|jsp)/.*</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Jersey Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Merci pour toute aide.