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("*************************************************");
}
}