Spring整合shiro

来源:互联网 发布:车牌号查询车主软件 编辑:程序博客网 时间:2024/06/18 06:27

1、导入依赖

    <dependency>            <groupId>org.apache.shiro</groupId>            <artifactId>shiro-all</artifactId>            <version>1.2.2</version>    </dependency>

2、在web.xml配置代理过滤器(要放到struts2前面)

    <!-- spring提供整合shiro代理过滤器 -->    <filter>        <filter-name>shiroFliter</filter-name>        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>    </filter>    <filter-mapping>        <filter-name>shiroFliter</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping>

3、配置一个Realm,这个类要继承org.apache.shiro.realm.AuthorizingRealm

    <bean id="bosRealm" class="cn.itcast.bos.web.realms.BosRealm"></bean>

4、配置安全管理器,把刚才的Realm注入到按软管理器

    <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">            <property name="realm" ref="bosRealm"></property>    </bean>

5、配置过滤工厂

<!-- apache提供过滤器工厂 -->    <bean id="shiroFliter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">        <!-- 注入安全管理器 -->        <property name="securityManager" ref="securityManager"></property>        <!-- 配置登录页面,没有登录的时候自动跳转 -->        <property name="loginUrl" value="/login.jsp"></property>        <!-- 配置没有权限页面,没有权限的时候跳转 -->        <property name="unauthorizedUrl" value="/unauthorized.jsp"></property>        <!-- 配置拦截规则 -->        <!-- /**: 所有请求 包括项目根目录下文件夹             authc:认证过滤器;必须当前用户经过认证             anon:匿名过滤器 不需要认证,不需要任何权限             perms:权限过滤器 有对应的权限才可以访问             roles:角色过滤器 有对应的角色才可以访问         -->        <property name="filterChainDefinitions">            <value>                /login.jsp = anon                /validatecode.jsp* = anon                /css/** = anon                /images/** = anon                /js/** = anon                /userAction_login.action = anon                /pages/base/standard.jsp = perms["standard_page"]                /pages/base/courier.jsp = roles["admin"]                /** = authc            </value>        </property>    </bean>
原创粉丝点击