我在我的网络应用中使用springSecurity。任何请求都应该重定向到/ login:
<http auto-config="true" use-expressions="true">
<intercept-url pattern="/**" access="hasRole('ROLE_ADMIN') or hasRole('ROLE_USER')"/>
<form-login
login-page="/login"
login-processing-url="/app/checkuser"
default-target-url="/app/main"
authentication-failure-url="/app/login?login_failed=1"
username-parameter="username"
password-parameter="password" />
<logout logout-success-url="/app/login" logout-url="/app/logout"/>
</http>
但它不起作用。页面login.xhtml存在于WEB-INF / views中。 dispatcher-servlet.xml中的配置文件:
<mvc:annotation-driven/>
<mvc:resources mapping="/resources/**" location="/resources/"/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".xhtml"/>
</bean>
<context:component-scan base-package="com.sombra.test.training"/>
并在web.xml中包含dispatcher-servlet.xml:
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/config/spring/dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>