关于spring_security框架的有关问题。退出系统后,不关闭页面再次登录,为什么会跳转到sessionTimeout页面
关于spring_security框架的问题。退出系统后,不关闭页面再次登录,为什么会跳转到sessionTimeout页面?
我的配置如下:
jsp页面如下:
当点击退出系统后,跳转到登陆页面。如果这个时候再次输入密码,系统就会跳转到sessionTimeout.jsp页面。
可是没有 <session-management invalid-session-url="/sessionTimeout.jsp"></session-management> 这个设置的时候,
系统还可以正常登录,
这是为什么呢?
------解决方案--------------------
建议楼主来我的博客看看这个security的研究咯...有项目实例,
http://blog.csdn.net/shadowsick/article/details/8903278
------解决方案--------------------
<http pattern="/login.jsp*" security="none"/> 这个配置没起到作用,
<intercept-url pattern="/**" access="ROLE_ADMIN,ROLE_USER" />你先把这个配置去掉,试下
我的配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.2.xsd">
<beans:bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
...
</beans:bean>
<http pattern="/login.jsp*" security="none"/>
<http auto-config='true' access-denied-page="/accessDenied.jsp">
<form-login login-page="/login.jsp"></form-login>
<intercept-url pattern="/admin.jsp" access="ROLE_ADMIN" />
<intercept-url pattern="/**" access="ROLE_ADMIN,ROLE_USER" />
<session-management invalid-session-url="/sessionTimeout.jsp"></session-management>
</http>
<authentication-manager>
<authentication-provider>
<password-encoder hash="md5"></password-encoder>
<jdbc-user-service data-source-ref="dataSource"></jdbc-user-service>
</authentication-provider>
</authentication-manager>
</beans:beans>
jsp页面如下:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Hello</title>
</head>
<body>
<h2>Hello World!</h2>
这是首页,欢迎<sec:authentication property="name"/> <br />
<sec:authorize ifAllGranted= "ROLE_ADMIN" >
<a href= "admin.jsp"> 进入admin.jsp 页面</a>
</sec:authorize >
<a href="j_spring_security_logout">退出系统</a>
</body>
</html>
当点击退出系统后,跳转到登陆页面。如果这个时候再次输入密码,系统就会跳转到sessionTimeout.jsp页面。
可是没有 <session-management invalid-session-url="/sessionTimeout.jsp"></session-management> 这个设置的时候,
系统还可以正常登录,
这是为什么呢?
------解决方案--------------------
建议楼主来我的博客看看这个security的研究咯...有项目实例,
http://blog.csdn.net/shadowsick/article/details/8903278
------解决方案--------------------
<http pattern="/login.jsp*" security="none"/> 这个配置没起到作用,
<intercept-url pattern="/**" access="ROLE_ADMIN,ROLE_USER" />你先把这个配置去掉,试下