package com.iplatform.security.event; import com.iplatform.base.event.RoleSecurityChangeEvent; import com.walker.web.security.ResourceLoadProvider; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.ApplicationListener; /** * 角色对应权限更新监听器,在角色权限修改后,会触发该事件来响应。 *

如果不通知重新加载,则角色分过权限后,用户仍然看不到(需要重新启动)

* @author shikeying * @date 2023-05-07 移植老代码 */ public class RoleSecurityUpdateListener implements ApplicationListener { private Logger logger = LoggerFactory.getLogger(getClass()); // private MySecurityMetadataSource securityMetaSource; // // public void setSecurityMetaSource(MySecurityMetadataSource securityMetaSource) { // assert (securityMetaSource != null); // this.securityMetaSource = securityMetaSource; // } private ResourceLoadProvider resourceLoaderProvider; public void setResourceLoaderProvider(ResourceLoadProvider securityMetaSource) { this.resourceLoaderProvider = securityMetaSource; } @Override public void onApplicationEvent(RoleSecurityChangeEvent event) { resourceLoaderProvider.reloadResource(); logger.info("*************************************************"); logger.info("* 系统重新加载了角色权限数据"); logger.info("*************************************************"); } }