Spring security 更新spring安全性以匹配url后缀

Spring security 更新spring安全性以匹配url后缀,spring-security,Spring Security,我的SpringMVC应用程序使用以下url http://xyz.com/<war name>/springmvc/login 表单登录的默认登录处理url属性值为/j\u spring\u security\u check。 i、 e.登录表单将发布到此url。 如果您的上下文根是UserInterface,那么默认的url将是,但是您创建的url是spring security无法理解的 你有两个选择 将springSecurityFilterChain url模式更改为/*

我的SpringMVC应用程序使用以下url

http://xyz.com/<war name>/springmvc/login

表单登录的默认登录处理url属性值为/j\u spring\u security\u check。 i、 e.登录表单将发布到此url。
如果您的上下文根是UserInterface,那么默认的url将是,但是您创建的url是spring security无法理解的

你有两个选择

  • 将springSecurityFilterChain url模式更改为/*from /springmvc/*,并确保您的自定义登录表单具有操作 as//j\u弹簧\u安全检查
  • 在表单登录中添加自定义登录处理url路径
  • <filter-mapping>
        <filter-name>springSecurityFilterChain</filter-name>
        <url-pattern>/springmvc/*</url-pattern>
    </filter-mapping>
    
    <http access-decision-manager-ref="accessDecisionManager" auto-config="true">
        <intercept-url pattern="/springmvc/welcome*" access="ADMIN" />
        <form-login login-page="/springmvc/login" default-target-url="/springmvc/welcome"
            authentication-failure-url="/springmvc/loginfailed" />
        <logout logout-success-url="/springmvc/logout" />
        <remember-me data-source-ref="dataSource"/>
    </http>
    
    @RequestMapping(value="/welcome", method = RequestMethod.GET)
    public String printWelcome(ModelMap model) {
        User user = (User)SecurityContextHolder.getContext().getAuthentication().getPrincipal();
        String name = user.getUsername();
    
        model.addAttribute("username", name);
        model.addAttribute("message", "Spring Security login + database example");
    
        //logical view name 
        return "hello";
    }