shiro框架的使用

1.配置二级缓存

<ehcache updateCheck="false" name="shiroCache">

    <defaultCache
            maxElementsInMemory="10000"
            eternal="false"
            timeToIdleSeconds="120"
            timeToLiveSeconds="120"
            overflowToDisk="false"
            diskPersistent="false"
            diskExpiryThreadIntervalSeconds="120"
            />
</ehcache>

2.配置shiro框架

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"
       default-lazy-init="true">

    <description>Shiro</description>

    <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
        <!-- Single realm app.  If you have multiple realms, use the ‘realms‘ property instead. -->
        <property name="realm" ref="authRealm"/>
        <!-- 二级缓存 -->
        <property name="cacheManager" ref="shiroEhcacheManager"/>
    </bean>

    <!-- 自定义权限认证 -->
    <bean id="authRealm" class="cn.xxxx.jk.shiro.AuthRealm">
		<property name="userService" ref="userService"/>
		<property name="credentialsMatcher" ref="passwordMatcher"/>
	</bean>

	<!-- 自定义加密策略 -->
	<bean id="passwordMatcher" class="cn.xxxx.jk.shiro.CustomCredentialsMatcher"/>

    <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
        <property name="securityManager" ref="securityManager"/>
        <property name="loginUrl" value="/index.jsp"></property>
        <!-- 没有权限或者失败后跳转的页面 -->
        <property name="successUrl" value="/home.action"></property>
        <property name="filterChainDefinitions">
            <!-- , roles[admin], perms[document:read]-->
            <value>
				/index.jsp* = anon
				/home* = anon
				/sysadmin/login/login.jsp* = anon
				/sysadmin/login/logout.jsp* = anon
				/login* = anon
				/logout* = anon

				/*.* = authc
				/resource/** = anon
            </value>
        </property>
    </bean>

    <!-- 用户授权/认证信息Cache, 采用EhCache  缓存 -->
    <bean id="shiroEhcacheManager" class="org.apache.shiro.cache.ehcache.EhCacheManager">
        <property name="cacheManagerConfigFile" value="classpath:ehcache-shiro.xml"/>
    </bean>

    <!-- 保证实现了Shiro内部lifecycle函数的bean执行 -->
    <bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/>

    <!-- 生成代理,通过代理进行控制 -->
    <bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"
          depends-on="lifecycleBeanPostProcessor">
        <property name="proxyTargetClass" value="true"/>
    </bean>

    <!-- 安全管理器 -->
    <bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
        <property name="securityManager" ref="securityManager"/>
    </bean>

</beans>

  

时间: 2024-11-05 19:02:25

shiro框架的使用的相关文章

Shiro权限验证代码记录,正确找到shiro框架在什么地方做了权限识别

权限验证方式的验证代码: org.apache.shiro.web.servlet.AdviceFilter这个类是所有shiro框架提供的默认权限验证实例类的父类 验证代码: public void doFilterInternal(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException { Exception exception = nu

shiro框架的四中权限控制方式

一.在自定义的realm中进行权限控制 在applicationContext.xml文件中添加  /areaAction_pageQuery.action = perms["area"] <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"> <!-- 注入shiro框架核心对象,安全管理器 --> <pr

29、shiro框架入门

1.建立测试shiro框架的项目,首先建立的项目结构如下图所示 ini文件 中的内容如下图所示 pom.xml文件中的内容如下所示 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 ht

037 shiro框架的介绍和使用 - bos

官网:shiro.apache.org 一.shiro介绍 1.shiro框架的核心功能:认证.授权.会话管理.加密 2.shiro框架认证流程: 3.涉及的相关概念和类 ApplicationConde,应用程序代码,由开发人员进行开发 Subject,框架提供的接口,代表当前用户对象 SecurityManager,框架提供的接口,代表安全管理器,是shiro框架最核心的对象 Realm,可以开发人员编写,框架也提供一些,类似于DAO,用于访问权限数据 4.导包方式:只要导入shiro-al

shiro框架的学习

1shiro框架是什么:是一个权限控制的框架2shiro框架有什么作用:权限管理,管理那些资源是否需要登录才能访问.控制某些资源需要那些权限才能访问3shiro框架怎样使用: 1在web.xml配置shiro的Filter,拦截指定的URL(注意只有被shiroFilter拦截到的URL才能被shiro管理) <!-- Shiro filter--> <filter> <filter-name>shiroFilter</filter-name> <fi

shiro框架--权限管理

一.maven坐标 1 <!-- 权限控制 框架 --> 2 <dependency> 3 <groupId>org.apache.shiro</groupId> 4 <artifactId>shiro-all</artifactId> 5 <version>${shiro.version}</version> 6 </dependency> 二.shiro框架的四大功能 1.认证 2.授权 3.加

shiro框架 4种授权方式 说明

1. shiro的配置文件(applicationContext-shiro.xml)中使用filterChain过滤url的方式 详细配置看注释 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSc

使用shiro框架,注销问题的解决

在使用shiro框架的时候,有时候会因为登录问题找不到注销的controller.所以会报404的错误,下面是解决办法: 1.首先写一个类SystemLogoutFilter继承LogoutFilter类,具体代码如下,注意要贴@Service标签: import javax.servlet.ServletRequest;import javax.servlet.ServletResponse; import org.apache.shiro.session.SessionException;i

shiro框架入门

一.shiro框架简介 Apache Shiro是Java的一个安全框架.其内部架构如下: 下面来介绍下里面的几个重要类: Subject:主体,应用代码直接交互的对象就是Subject.代表了当前用户,这个用户不一定表示人. SecurityManager:安全管理器,它管理着所有的Subject 原文地址:https://www.cnblogs.com/lzxin/p/9926401.html