mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 18:28:43 +08:00 
			
		
		
		
	| @@ -152,7 +152,7 @@ public class SecurityConfiguration extends WebSecurityConfigurerAdapter { | |||||||
|                     .anyRequest().authenticated() |                     .anyRequest().authenticated() | ||||||
|                 .and() |                 .and() | ||||||
|                 .headers().frameOptions().disable(); |                 .headers().frameOptions().disable(); | ||||||
|         httpSecurity.logout().logoutUrl("/logout").logoutSuccessHandler(logoutSuccessHandler); |         httpSecurity.logout().logoutUrl(webProperties.getApiPrefix() + "/logout").logoutSuccessHandler(logoutSuccessHandler); | ||||||
|         // 添加 JWT Filter |         // 添加 JWT Filter | ||||||
|         httpSecurity.addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class); |         httpSecurity.addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class); | ||||||
|     } |     } | ||||||
|   | |||||||
| @@ -1,6 +1,7 @@ | |||||||
| package cn.iocoder.dashboard.framework.security.core.handler; | package cn.iocoder.dashboard.framework.security.core.handler; | ||||||
|  |  | ||||||
| import cn.hutool.core.util.StrUtil; | import cn.hutool.core.util.StrUtil; | ||||||
|  | import cn.iocoder.dashboard.common.pojo.CommonResult; | ||||||
| import cn.iocoder.dashboard.framework.security.config.SecurityProperties; | import cn.iocoder.dashboard.framework.security.config.SecurityProperties; | ||||||
| import cn.iocoder.dashboard.framework.security.core.service.SecurityAuthFrameworkService; | import cn.iocoder.dashboard.framework.security.core.service.SecurityAuthFrameworkService; | ||||||
| import cn.iocoder.dashboard.framework.security.core.util.SecurityFrameworkUtils; | import cn.iocoder.dashboard.framework.security.core.util.SecurityFrameworkUtils; | ||||||
| @@ -36,6 +37,6 @@ public class LogoutSuccessHandlerImpl implements LogoutSuccessHandler { | |||||||
|             securityFrameworkService.logout(token); |             securityFrameworkService.logout(token); | ||||||
|         } |         } | ||||||
|         // 返回成功 |         // 返回成功 | ||||||
|         ServletUtils.writeJSON(response, null); |         ServletUtils.writeJSON(response, CommonResult.success(null)); | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -160,7 +160,25 @@ public class SysAuthServiceImpl implements SysAuthService { | |||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     public void logout(String token) { |     public void logout(String token) { | ||||||
| //        AsyncManager.me().execute(AsyncFactory.recordLogininfor(userName, Constants.LOGOUT, "退出成功")); TODO 需要搞一搞 |         // 查询用户信息 | ||||||
|  |         LoginUser loginUser = userSessionService.getLoginUser(token); | ||||||
|  |         if(loginUser == null) { | ||||||
|  |             return; | ||||||
|  |         } | ||||||
|  |         // 删除session | ||||||
|  |         userSessionService.deleteUserSession(token); | ||||||
|  |         this.createLogoutLog(loginUser.getUsername(), SysLoginResultEnum.SUCCESS); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     private void createLogoutLog(String username, SysLoginResultEnum loginResult) { | ||||||
|  |         SysLoginLogCreateReqVO reqVO = new SysLoginLogCreateReqVO(); | ||||||
|  |         reqVO.setLogType(SysLoginLogTypeEnum.LOGOUT_SELF.getType()); | ||||||
|  |         reqVO.setTraceId(TracerUtils.getTraceId()); | ||||||
|  |         reqVO.setUsername(username); | ||||||
|  |         reqVO.setUserAgent(ServletUtils.getUserAgent()); | ||||||
|  |         reqVO.setUserIp(ServletUtils.getClientIP()); | ||||||
|  |         reqVO.setResult(loginResult.getResult()); | ||||||
|  |         loginLogService.createLoginLog(reqVO); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 芋道源码
					芋道源码