Possiedo un'applicazione Web con sicurezza di sicurezza configurata per limitare l'accesso su entrambi gli URL e i metodi. Voglio disabilitarlo completamente per impostazione predefinita e consentire ai miei clienti di accenderlo facilmente se lo desiderano (possono solo accedere a "spring-security.xml").Disabilita sicurezza metodo Spring nella versione 3.0.x
sono riuscito a spegnere l'intercettazione URL, ma la mia sicurezza metodo è ancora attivo ...
Qualsiasi indizio?
(Non voglio lasciare che il cambiamento del cliente il mio web.xml, così purtroppo modificando il "metodo globale-sicurezza" impostazione ogni volta che non è un'opzione ...)
Questo è il mio aggiornamento configurazione molla security.xml:
<http auto-config='true' use-expressions="true">
<intercept-url pattern="/**" access="permitAll" />
<http-basic />
<anonymous />
</http>
ho sovrascritto il metodo DelegatingFilterProxy.doFilter simili:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)
throws ServletException, IOException {
final String springSecured = System.getProperty("springSecured");
if (StringUtils.isNotBlank(springSecured) && springSecured.equalsIgnoreCase("true")) {
// Call the delegate
super.doFilter(request, response, filterChain);
} else {
// Ignore the DelegatingProxyFilter delegate
filterChain.doFilter(request, response);
}
}
e questo è un esempio del metodo sicurezza ho:
@RequestMapping(
value = "applications/{applicationName}/timeout/{timeout}",
method = RequestMethod.POST)
public
@ResponseBody
@PreAuthorize("isFullyAuthenticated() and hasPermission(#authGroups, 'deploy')")
Object deployApplication() {
// ...
}