【问题标题】:update spring security to match url suffix更新 spring security 以匹配 url 后缀
【发布时间】:2023-03-11 12:36:01
【问题描述】:

我的 spring mvc 应用程序使用以下 url

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

我已经更新了我的 web.xml

<filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/springmvc/*</url-pattern>
</filter-mapping>

我更新了spring security xml文件如下

<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>

如果我输入 springmvc/login 或 springmvc/welcome 它会进入登录页面。但是当我输入用户名和密码时,我得到一个 404。网址更改为http://xyz.com/UserInterface/springmvc/j_spring_security_check。我希望根据下面的控制器看到 hello.jsp

我的登录控制器如下

@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";
}

【问题讨论】:

    标签: spring-security


    【解决方案1】:

    form-login 的默认 login-processing-url 属性值为 /j_spring_security_check。 即登录表单将发布到此 url。
    如果您的上下文根是 UserInterface,则默认 url 将是 http://xyz.com/UserInterface/j_spring_security_check,但您创建的 url 为 http://xyz.com/UserInterface/springmvc/j_spring_security_check,spring-security 无法理解。

    你有两个选择

    1. 将 springSecurityFilterChain url 模式更改为 /* from /springmvc/*,并确保您的自定义登录表单具有操作 as //j_spring_security_check
    2. 在 form-login 中添加自定义 login-processing-url 路径

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-16
      • 2019-03-25
      • 1970-01-01
      • 2015-12-31
      • 1970-01-01
      • 2019-09-08
      • 2017-01-16
      相关资源
      最近更新 更多