码迷,mamicode.com
首页 > 编程语言 > 详细

在JaveWeb项目中配置Spring 匿名访问时,匹配规则的变相实现/*

时间:2016-07-28 16:35:48      阅读:523      评论:0      收藏:0      [点我收藏+]

标签:

实现/*

    /**
     * 根据当前的URL返回该url的角色集合。
     * 1.如果当前的URL在匿名访问的URL集合当中时,在当前的角色中添加匿名访问的角色(SysRole.ROLE_CONFIG_ANONYMOUS)。
     * 2.如果当前系统不存在的情况,给当前用户添加一个公共访问的角色(SysRole.ROLE_CONFIG_PUBLIC)。 3.url
     * 和角色映射,url和参数映射,给当前用户添加一个公共的角色(SysRole.ROLE_CONFIG_PUBLIC)。
     *
     * @param object the object
     * @return the attributes
     */
    public Collection<ConfigAttribute> getAttributes(Object object) {
        LOGGER.info("Enter");
        Collection<ConfigAttribute> configAttribute = new HashSet<ConfigAttribute>();
        FilterInvocation filterInvocation = (FilterInvocation) object;
        HttpServletRequest request = filterInvocation.getRequest();
        String url = request.getRequestURI();
        LOGGER.info("FullUrl="+filterInvocation.getFullRequestUrl());
        LOGGER.info("URL="+filterInvocation.getRequestUrl());
        LOGGER.info("URI="+request.getRequestURI());
        LOGGER.info("CTX="+filterInvocation.getHttpRequest().getContextPath());
        String urlNoCtx = removeCtx(url, request.getContextPath());
        // 匿名访问的URL
        if (anonymousUrls.contains(urlNoCtx)) {
            configAttribute.add(RoleConstant.ROLE_ANONYMOUS);
            return configAttribute;
        }else{
            //2016年7月28日15:18:27 匿名访问的匹配规则的实现
            for(String anonymouseUrl : anonymousUrls){
                if(anonymouseUrl.indexOf("*") > -1){
                    anonymouseUrl = anonymouseUrl.replace("*",".*");
                    if(urlNoCtx.matches(anonymouseUrl)){
                        configAttribute.add(RoleConstant.ROLE_ANONYMOUS);
                        return configAttribute;
                    }
                }
            }
            if(urlNoCtx.contains("lms")){
                configAttribute.add(RoleConstant.ROLE_LMS_ANONYMOUS);
            }else{
                configAttribute.add(RoleConstant.ROLE_PUBLIC);
            }
        }
        return configAttribute;
    }

 

在JaveWeb项目中配置Spring 匿名访问时,匹配规则的变相实现/*

标签:

原文地址:http://www.cnblogs.com/kzfy/p/5715032.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!