Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.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 无法调用LogoutSuccessHandler-Spring安全性_Java_Spring_Spring Mvc_Spring Security - Fatal编程技术网

Java 无法调用LogoutSuccessHandler-Spring安全性

Java 无法调用LogoutSuccessHandler-Spring安全性,java,spring,spring-mvc,spring-security,Java,Spring,Spring Mvc,Spring Security,我正在尝试实现一个自定义Spring安全注销处理程序。我的配置如下,但从未调用注销处理程序 我有一个JSP,其中我将注销称为: <a href="j_spring_security_logout">Logout</a> 但这从来没有被称为。我错过什么了吗 如果我将j_spring_security_注销更改为注销,并为该URL创建我的自定义控制器,那么在这种情况下,代码适用于注销URL,但我如何处理spring魔术注销实际上不清楚如何调用myCustomLogoutSu

我正在尝试实现一个自定义Spring安全注销处理程序。我的配置如下,但从未调用注销处理程序

我有一个JSP,其中我将注销称为:

<a href="j_spring_security_logout">Logout</a>
但这从来没有被称为。我错过什么了吗


如果我将j_spring_security_注销更改为注销,并为该URL创建我的自定义控制器,那么在这种情况下,代码适用于注销URL,但我如何处理spring魔术注销实际上不清楚如何调用
myCustomLogoutSuccessHandler
,如果您继续使用标准的注销url(
j_-spring\u-security\u-logout
),而不是您的自定义url-
logout

从另一方面来说,有两个
的原因是什么

有这样的配置还不够吗:

<a href="j_spring_security_logout">Logout</a>
....
<security:logout invalidate-session="true" success-handler-ref="myCustomLogoutSuccessHandler"></security:logout> 

....
?


请解释您的目的,

您没有在自定义注销处理程序中执行特殊工作。。。 因为这是一个简单的注销,所以下面的注销将起作用….>>

配置

<security:logout logout-url="/logout" logout-success-url="/login.html" invalidate-session="true" delete-cookies="JSESSIONID" />
</security:http>
<security:logout logout-url="/logout" logout-success-url="/login.html" invalidate-session="true" delete-cookies="JSESSIONID" />
</security:http>
如果您没有指定属性注销url,那么它将默认为/j_-spring\u-security\u-logout,这意味着您必须将/j_-spring\u-security\u-logout放入html注销标记中,如下所示:

<a style="margin-top: 4px;" href="../j_spring_security_logout">log_out</a>

如果指定相同的属性,则必须在config和html标记中放置相同的url

配置:

<a style="margin-top: 4px;" href="/logout">log_out</a>
Attribute : logout-url
Specifies the URL that will cause a logout. Spring Security will initialize a filter that responds to this particular URL. 
 Defaults to /j_spring_security_logout if unspecified.
<a style="margin-top: 4px;" href="/logout">log_out</a>

html:

<a style="margin-top: 4px;" href="/logout">log_out</a>
Attribute : logout-url
Specifies the URL that will cause a logout. Spring Security will initialize a filter that responds to this particular URL. 
 Defaults to /j_spring_security_logout if unspecified.
<a style="margin-top: 4px;" href="/logout">log_out</a>

看起来像。。这个答案解决了我的问题。非常感谢,阿泰姆。。我有一个注销url=“/logout”,它正在出错。。再次感谢