我有一个Spring MVC Web应用程序,我想展示一个简单的欢迎页面(index.html)。在那个页面上,我只想有一个2 href链接:一个用于登录页面,然后使用Spring Security(2.5.6)和Hibernate 3实现,另一个用于新用户的注册页面。
然而,问题是Spring Security每次都会自动加载我的登录页面,并且不会加载index.html页面,我编写了2个链接以转发我登录或注册。我被带到登录页面,工作正常。但是,我永远不会显示我的Web应用程序的初始index.html页面。
任何人都可以了解如何防止Spring Security使用它的登录页面覆盖“欢迎页面”。
非常感谢。
这是我在web.xml中设置的Spring Security:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
WEB-INF/spring-beans.xml
WEB-INF/spring-security.xml
</param-value>
</context-param>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
答案 0 :(得分:1)
您的web.xml文件没有任何问题,您需要向我们展示您的WEB-INF / spring-security.xml文件。
如果您继续被定向到登录页面,很可能会搞乱拦截网址模式,导致您的欢迎页面被Spring Security捕获,以便在显示之前进一步验证。
这是您在WEB-INF / spring-security.xml文件中找到的intercept-url标记的示例: -
<http auto-config="true" access-denied-page="/accessDenied.jsp">
<intercept-url pattern="/login.jsp*" filters="none"/>
<intercept-url pattern="/admin/searchUsers.do" access="ROLE_ADMIN" />
<intercept-url pattern="/**.do" access="ROLE_USER,ROLE_ADMIN" />
<form-login authentication-failure-url="/login.jsp?login_error=1" default-target-url="/home.do"/>
<logout logout-success-url="/home.do"/>
</http>
答案 1 :(得分:0)
使用
<form-login login-page="/login.jsp" />
答案 2 :(得分:0)
控制器应该处理用户的请求,在您的情况下,没有控制器映射到此URL。当控制器找到时,它会执行一些逻辑并返回视图名称,该名称将用于表示服务器的响应。因此,视图名称转换器仅在控制器之后调用,并且仅用于推导到特定JSP文件的完整路径。
<mvc:view-controller path="/" view-name="index"/>
尝试添加