Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java spring security 3.2.0.RC1中的注销不起作用_Java_Spring_Spring Security - Fatal编程技术网

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,我可以做些什么来修复它?