spring security3 URL监听类

本文介绍了一个用于Spring Security的监听器实现,该监听器在应用启动时加载URL权限,并将其存储在ServletContext中以便全局访问。当应用关闭时,监听器会清除这些权限设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.payds.comm.security;

import java.util.Map;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

import org.springframework.web.context.support.WebApplicationContextUtils;

import com.payds.comm.service.SecurityManager;
public class SpringSecurityListener implements ServletContextListener {  
 
    /* (non-Javadoc) 
     * @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent) 
     */ 
    public void contextInitialized(ServletContextEvent servletContextEvent) {  
        ServletContext servletContext = servletContextEvent.getServletContext();  
        SecurityManager securityManager = this.getSecurityManager(servletContext);  
          
        Map<String, String> urlAuthorities = securityManager.loadUrlAuthorities();  
        servletContext.setAttribute("urlAuthorities", urlAuthorities);  
    }  
 
      
    /* (non-Javadoc) 
     * @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent) 
     */ 
    public void contextDestroyed(ServletContextEvent servletContextEvent) {  
        servletContextEvent.getServletContext().removeAttribute("urlAuthorities");  
    }  
 
    /** 
     * Get SecurityManager from ApplicationContext 
     *  
     * @param servletContext 
     * @return 
     */ 
    protected SecurityManager getSecurityManager(ServletContext servletContext) {  
       return (SecurityManager) WebApplicationContextUtils.getWebApplicationContext(servletContext).getBean("securityManager");   
    }  
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值