在JaveWeb项目中配置Spring 匿名访问时,匹配规则的变相实现/*
实现/*
- /**
- * 根据当前的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 匿名访问时,匹配规则的变相实现/*的更多相关文章
- 如何在web项目中配置Spring的Ioc容器
在web项目中配置Spring的Ioc容器其实就是创建web应用的上下文(WebApplicationContext) 自定义要使用的IoC容器而不使用默认的XmlApplicationContext ...
- 如何在Web项目中配置Spring MVC
要使用Spring MVC需要在Web项目配置文件中web.xml中配置Spring MVC的前端控制器DispatchServlet <servlet> <servlet-name ...
- web项目中 集合Spring&使用junit4测试Spring
web项目中 集合Spring 问题: 如果将 ApplicationContext applicationContext = new ClassPathXmlApplicationContext(& ...
- 06_在web项目中集成Spring
在web项目中集成Spring 一.使用Servlet进行集成测试 1.直接在Servlet 加载Spring 配置文件 ApplicationContext applicationContext = ...
- eclipse中配置spring环境
初识Spring框架 1.简单使用 eclipse中配置Spring环境,如果是初学的话,只需要在eclipse中引入几个jar包就可以用了, 在普通java project项目目录下,建一个lib文 ...
- 在maven项目中 配置代理对象远程调用crm
1 在maven项目中配置代理对象远程调用crm 1.1 在项目的pom.xml中引入CXF的依赖 <dependency> <groupId>org.apache.cxf&l ...
- 如何在maven项目中使用spring
今天开始在maven项目下加入spring. 边学习边截图. 在这个过程中我新建了一个hellospring的项目.于是乎从这个项目出发开始研究如何在maven项目中使用spring.鉴于网上的学习资 ...
- web项目中配置多个数据源
web项目中配置多个数据源 spring + mybatis 多数据源配置有两种解决方案 1.配置多个不同的数据源,使用一个sessionFactory,在业务逻辑使用的时候自动切换到不同的数据源, ...
- Spring-Boot项目中配置redis注解缓存
Spring-Boot项目中配置redis注解缓存 在pom中添加redis缓存支持依赖 <dependency> <groupId>org.springframework.b ...
随机推荐
- [LeetCode] Word Frequency 单词频率
Write a bash script to calculate the frequency of each word in a text file words.txt. For simplicity ...
- [LeetCode] Sqrt(x) 求平方根
Implement int sqrt(int x). Compute and return the square root of x. 这道题要求我们求平方根,我们能想到的方法就是算一个候选值的平方, ...
- 修改 jquery.validate.js 支持非form标签
尝试使用markdown来写一篇blog,啦啦啦 源代码传送门:github 在特殊情况下我们使用jquery.validate.js对用户输入的内容做验证的时候,表单并不是一定包含在form之中,有 ...
- weui 多网页切换效果分析
weui的文档写的不怎么详尽,简单的来讲WeUI 为微信 Web 服务量身设计的h5框架. WeUI是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信 Web 开发量身设计,可以令用户 ...
- PRINCE2风险模块
我们前几个节学习了PRINCE2七大主题的商业论证.组织.质量和计划,今天我们开展对于风险模块的讲解. 风险:目的是识别.评估和控制不确定性,从而提高项目的成功率.PRINCE2对风险登记册进行了详细 ...
- MYSQL的大数据量情况下的分页查询优化
最近做的项目需要实现一个分页查询功能,自己先看了别人写的方法: <!-- 查询 --> <select id="queryMonitorFolder" param ...
- 修改.net mvc中前端验证信息的显示方式
最近一直在学习.net core的用法.想法是通过写一个新闻系统来熟悉一下这个最新的技术.其实,我以前一直对.net技术都是浅尝辄止,最主要原因是没有动力.平时写企业站因为时间原因,不是使用php的框 ...
- ERwin入门
1.菜单介绍 2.选择建模语言符号
- cocos2d-x-2.2.6 project-creator文件夹下python.bat
@echo off set /p projectName=请输入项目名称: if "%projectName%"=="" goto inputError set ...
- Shell入门
前言 日常用Python多一些,不过很多时候shell脚本更简单实用一些,所以有必要熟悉一下shell脚本.当然shell有他特定的一些场景,比方说我曾经改过一个vpn断线自动重连的脚本,简单实用. ...