Java spring security 3.2.0.RC1中的注销不起作用
我在为我的管理页面实现注销功能时遇到问题。 我使用Java spring security 3.2.0.RC1中的注销不起作用,java,spring,spring-security,Java,Spring,Spring Security,我在为我的管理页面实现注销功能时遇到问题。 我使用“/admin/”访问我的管理员页面,要注销我想使用“/admin/logout”。 当我点击按钮时,我转到“/”,这是注销成功的指示。当我返回到“/admin”时,我看到我仍在登录 我的spring xml是: <sec:http auto-config="true"> <sec:session-management session-fixation-protection="newSession"/> &
“/admin/”
访问我的管理员页面,要注销我想使用“/admin/logout”
。
当我点击按钮时,我转到“/”
,这是注销成功的指示。当我返回到“/admin”
时,我看到我仍在登录
我的spring xml是:
<sec:http auto-config="true">
<sec:session-management session-fixation-protection="newSession"/>
<sec:intercept-url pattern="/admin/**" access="ROLE_LEVEL_0" />
<sec:http-basic />
<sec:logout delete-cookies="JSESSIONID" logout-success-url="/" logout-url="/admin/logout"/>
</sec:http>
<sec:authentication-manager alias="authenticationManager" erase-credentials="true">
<sec:authentication-provider user-service-ref="userDetailsService">
<sec:password-encoder hash="md5"/>
</sec:authentication-provider>
</sec:authentication-manager>
<bean id="userDetailsService" class="com.adminsecurity.acegi.userdetails.jdbc.JdbcUserDetailsManager">
<constructor-arg index="0" ref="dataSource"/>
<property name="changePasswordSql" value="update users set password = ? where username = ?"/>
</bean>
我的JSP是这样的:
<c:url var="logoutUrl" value="/admin/logout"/>
<form action="${logoutUrl}"
method="get">
<input type="submit"
value="Log out" />
</form>
解决此问题的唯一方法不是使用
并选择表单登录选项。
否则,浏览器将在每个请求中发送凭据,您将无法注销。有几种解决方法,但没有一种在每个浏览器中都可用。您是否尝试过在
注销标记中添加invalidate session=“true”
?使用http基本身份验证,在成功的身份验证后,您无法注销每个请求都包含用户名/密码。好的M.Deinum,我可以做些什么来修复它?