2013-07-23 14 views
6

Ho una situazione in cui ho bisogno di passare la variabile percorso come un argomento per il pre-autorizzareCome usare variabile di percorso in @Preauthorize

@RequestMapping(value="/page/{cmd}", method = RequestMethod.GET) 
    @PreAuthorize("hasRole(#cmd)") 
    public void method(@PathVariable String cmd, HttpServletRequest request, HttpServletResponse response){ 
// my stuff 
} 

Non è working.can qualcuno mi suggerisce come utilizzare il percorso variabile in pre-autorizzazione per favore.

risposta

2

Spring Security's @PreAuthorize viene utilizzato per autorizzare l'accesso ai metodi. Non sa molto su Spring MVC, in particolare sulla sua annotazione @RequestMapping.

I nomi come #cmd faranno riferimento ai parametri del metodo e il parametro cmd è nullo. Modificarla in:

@PathVariable("cmd") String cmd 

questo modo, cmd variabile percorso verrà associato cmd parametro del metodo, che sarà poi vincolato da #cmd in @PreAuthorize.

Problemi correlati