如何使用spring-security验证索引页面

时间:2015-08-31 12:36:10

标签: java spring-security

在我的应用程序中,我想验证索引页面,所以在上下文中我添加:

<!-- Security -->
<security:http create-session="never" use-expressions="true">
    <security:intercept-url pattern="/index.jsp" access="hasRole('MY_ROLE')" />
    <security:http-basic entry-point-ref="basicAuthenticationEntryPoint" />
</security:http>

当我去地址时,这个工作正常:http://localhost:31103/my_app/index.jsp

问题是当我输入重定向到索引的地址http://localhost:31103/my_app/时,就没有认证。那么我该如何验证这些案例呢?

2 个答案:

答案 0 :(得分:0)

尝试将intercept-url pattern值更改为"/"

答案 1 :(得分:0)

当用户输入http://localhost:31103/my_app/将用户重定向到登录页面时,不是将用户重定向到索引页面,而是检查用户是否已经过身份验证,如果是,则将其重定向到索引页面。

@RequestMapping(value = "/login")
public ModelAndView login(HttpServletRequest arg0, HttpServletResponse arg1) {

    ModelAndView model = new ModelAndView("login");
    Authentication auth=SecurityContextHolder.getContext().getAuthentication();

    if(!(auth instanceof AnonymousAuthenticationToken)){
        model.setViewName("redirect:/index");
    }

    return model;
}