网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > JSP > 正文
Spring Security 2 配置精讲 下
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/11/30
下载{$ArticleTitle}原创论文样式

1 2 3 4 5 6 7 下一页

  2. 在系统启动的时候,把所有的资源load到内存作为缓存

  由于资源信息对于每个项目来说,相对固定,所以我们可以将他们在系统启动的时候就load到内存作为缓存。这里做法很多,我给出的示例是将资源的存放在ServletContext中。

  Java代码

public class ServletContextLoaderListener 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");   
    }  
 
} 

public class ServletContextLoaderListener 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");
    }

}

(责任编辑:admin)

  • 上一篇资讯: EJB注释是通过@来实现的
  • 下一篇资讯: Spring Security学习总结二
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号