Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.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
Spring security Spring安全-注销时获取用户名_Spring Security_Logout - Fatal编程技术网

Spring security Spring安全-注销时获取用户名

Spring security Spring安全-注销时获取用户名,spring-security,logout,Spring Security,Logout,如何在注销成功url中获取用户名或UserDetail对象?以下是我的配置: 我想在注销成功url中获取请求注销的用户名。这是一个Struts 2操作方法。我已选中SecurityContextHolder,但当控件到达注销成功url中的我的操作方法时,SecurityContextHolder似乎已被清除。为此使用自定义LogoutSuccessHandler。在您的配置中,定义bean并使用标记的successhandler ref属性 在CustomLogoutSuccessHandler

如何在注销成功url中获取用户名或UserDetail对象?以下是我的配置:

我想在注销成功url中获取请求注销的用户名。这是一个Struts 2操作方法。我已选中SecurityContextHolder,但当控件到达注销成功url中的我的操作方法时,SecurityContextHolder似乎已被清除。

为此使用自定义LogoutSuccessHandler。在您的配置中,定义bean并使用标记的successhandler ref属性

在CustomLogoutSuccessHandler中,只有一个具有身份验证参数的LogoutSuccess方法

公共类CustomLogoutSuccessHandler扩展 AbstractAuthenticationTargetUrlRequestHandler实现 LogoutSuccessHandler{ public void onLogoutSuccessHttpServletRequest请求, HttpServletResponse,身份验证 抛出IOException、ServletException{ //使用身份验证获取用户名 } } 为此使用自定义LogoutSuccessHandler。在您的配置中,定义bean并使用标记的successhandler ref属性

在CustomLogoutSuccessHandler中,只有一个具有身份验证参数的LogoutSuccess方法

公共类CustomLogoutSuccessHandler扩展 AbstractAuthenticationTargetUrlRequestHandler实现 LogoutSuccessHandler{ public void onLogoutSuccessHttpServletRequest请求, HttpServletResponse,身份验证 抛出IOException、ServletException{ //使用身份验证获取用户名 } }
为什么不整月添加字符串username=authentication.getName;致onLogoutSuccess方法主体?感谢您的回答。但是由于我已经给出了注销成功url,我不能提及success-handler-ref。如果我提供了success-handler-ref,那么在注销后如何将用户重定向到我的自定义页面。因为onLogoutSuccess方法返回void?其次,您的意思是身份验证对象在LogoutSuccessHandler中可用,但它对注销成功url不可用,尽管它是一个操作方法,我正在尝试使用SecurityContextHolder访问它?对于第一个问题:这就是为什么CustomLogoutSuccessHandler扩展AbstractAuthenticationTargetUrlRequestHandler,请参阅它的源代码。第二点:你自己试试看吧。为什么不把整个月加上字符串username=authentication.getName;致onLogoutSuccess方法主体?感谢您的回答。但是由于我已经给出了注销成功url,我不能提及success-handler-ref。如果我提供了success-handler-ref,那么在注销后如何将用户重定向到我的自定义页面。因为onLogoutSuccess方法返回void?其次,您的意思是身份验证对象在LogoutSuccessHandler中可用,但它对注销成功url不可用,尽管它是一个操作方法,我正在尝试使用SecurityContextHolder访问它?对于第一个问题:这就是为什么CustomLogoutSuccessHandler扩展AbstractAuthenticationTargetUrlRequestHandler,请参阅它的源代码。第二,你自己试试看。