ssh+shiro权限控制的xml配置
2018-03-29 19:09
369 查看
pom.xml 的配置: <properties> <shiro.version>1.2.2</shiro.version> </properties> <dependencies> <!-- 权限控制 框架 --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-all</artifactId> <version>${shiro.version}</version> </dependency>
web.xml的配置: <!-- 2.5的工程,filter执行的顺序是按照在web.xml中注册的顺序从上往下执行的 3.0的工程,filter执行的顺序是类名的字典顺序 listener filter servlet(第一次访问的时候创建) --> <!-- spring框架提供,整合shiro框架 本拦截器一定要卸载struts的拦截器之上 在DelegatingFilterProxy创建的过程中,依赖了一个对象,这个对象必须在applicationContext.xml文件中注册 而且注册的时候声明的id必须和DelegatingFilterProxy声明的filter-name保持一致 --> <filter> <filter-name>shiroFilterFactoryBean</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> </filter> <filter-mapping> <filter-name>shiroFilterFactoryBean</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
applicationContext.xml 的配置: <!-- 初始化shiro框架提供的过滤器 --> <bean id="shiroFilterFactoryBean" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"> <!-- 注入安全管理器 --> <property name="securityManager" ref="securityManager"></property> <!-- 权限认证的页面,登录页面 --> <property name="loginUrl" value="/login.html"></property> <!-- 权限认证成功以后要跳转的页面 --> <property name="successUrl" value="/index.html"></property> <!-- 权限不足要跳转的页面 只对拦截器生效,不会注解方式生效 --> <property name="unauthorizedUrl" value="/unauthorizedUrl.html"></property> <!--指定拦截的规则 --> <property name="filterChainDefinitions"> <!-- authc:框架提供的过滤器,有权限就放行,没有权限就拦截 anon:框架提供的过滤器,可以匿名访问 perms:框架提供的过滤器,用户请求资源的时候,会去检查用户是否拥有对应的权限,如果有就放行,没有,跳转到unauthorizedUrl属性指定的页面 拦截的规则执行的时候是从上往下执行的,一旦有一个规则匹配成功,后面的规则就不再执行了 拦截的规则不可以折行 --> <value> /css/* = anon 拦截器拦截主要是用户还没有登陆时 需要保护的资源 /data/* = anon /images/* = anon /js/** = anon /validatecode.jsp = anon /userAction_login.action = anon /courierAction_pageQuery.action = perms["courierAction_pageQuery"] /hi.html = perms["courierAction_pageQuery"] /** = authc </value> </property> </bean> <!-- 注册安全管理器 --> <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager"> <!-- 注入realm --> <property name="realm" ref="userRealm"></property> </bean>
如果需要开启事务注解定义拦截规则就要在applicationContext.xml 的配置加上如下配置: <!-- 开启事务注解 JDK代理方式 : 根据目标对象所实现的接口,创建了一个代理对象 CGLib代理方式 : 创建一个目标对象的子类 proxy-target-class:true,使用cglib代理 proxy-target-class:false,使用jdk代理 --> <tx:annotation-driven proxy-target-class="true" transaction-manager="transactionManager" /> <!-- 基于Spring的自动代理,创建Service层的实现 --> <bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"> <!-- 开启cglib代理 --> <property name="proxyTargetClass" value="true"></property> </bean> <!-- 配置切面= 切点(向那里插入代码)+通知 (要插入的代码) --> <bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor"> <!-- 注入安全管理器 --> <property name="securityManager" ref="securityManager"></property> </bean>注解的应用场景是用户已经完成登陆了标签的方式 主要应用在 动态的展示权限(比如用户有权限,就给他显示修改功能,没权限就不显示)
相关文章推荐
- JSP+XML的带权限控制的类似QQ的菜单(只需配置xml就能生成菜单)
- 使用JavaEE的ServerAuthModule模块和web.xml进行相应配置,实现对用户的权限控制
- Maven配置Spring+Hibernate Shiro权限控制项目
- Shiro基于JDBC的配置权限控制
- shiro实现url级别的权限控制(用户登录)配置文件分析
- 权限控制框架Shiro简单介绍及配置实例
- 权限控制框架Shiro简单介绍及配置实例
- 使用JavaEE的ServerAuthModule模块和web.xml进行相应配置,实现对用户的权限控制
- springmvc配置shiro进行权限控制
- 权限由shiro控制后 如何在 web.xml中拦截404 500等等异常
- Maven配置Spring+Hibernate Shiro权限控制项目
- ssh项目整合shiro时,在struts2的action中使用shiro的注解进行权限控制时,NoSuchMethodException:com.sun.proxy.$Proxy26
- SSH综合项目实战(快递) -- day11 shiro权限控制、后台用户登录
- apache 配置文件目录访问权限控制
- spring boot配置shiro安全框架及用户登录权限验证实现
- Spring学习一:IOC(控制反转)和AOP(面向切面)的xml配置和注解方式
- jsp权限配置、初始化、查询控制的解决方案
- [笔记-架构探险]框架优化与功能扩展3.2.安全框架shiro、提供安全控制特性2-jsp页面标签和框架aop启用权限控制
- 七、spring boot 1.5.4 集成shiro+cas,实现单点登录和权限控制
- spring boot 1.5.4 集成shiro+cas,实现单点登录和权限控制