我想在我的所有网址
中添加以下前缀/ login现在应该是/ springmvc / login
需要做出哪些改变。我添加以下但没有用。我也试过更新所有以下没有运气,有时登录页面工作,但结果页面主要返回“登录”不起作用
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping">
<property name="pathPrefix" value="springmvc" />
<property name="caseSensitive" value="false" />
</bean>
我已更新我的控制器,如下所示
@RequestMapping("/springmvc")
public class LoginController {
我的web.xml如下,我没有更新那些
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
我的春季安全相关代码如下
<http access-decision-manager-ref="accessDecisionManager" auto-config="true">
<intercept-url pattern="/welcome*" access="ADMIN" />
<form-login login-page="/login" default-target-url="/welcome"
authentication-failure-url="/loginfailed" />
<logout logout-success-url="/logout" />
</http>
答案 0 :(得分:0)
我首先将'/ springmvc'添加到您的调度程序servlet的映射中。
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/springmvc/*</url-pattern>
</servlet-mapping>
这应该为您的控制器提供一个通用前缀。您可能需要单独调整spring security以使登录/注销链接正常工作。 E.G。
<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" />
</http>
ControllerClassNameHandlerMapping类用于设置“约定优于配置”映射。换句话说,路径是从类/包名称派生的,这意味着您根本不需要@RequestMapping注释。