|
|
<?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.xsd">
|
|
|
|
|
|
|
|
|
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
|
|
|
<property name="securityManager" ref="securityManager"/>
|
|
|
<property name="loginUrl" value="/index"/><!--登录页面,-->
|
|
|
<property name="successUrl" value="/index.jsp"/><!--登录成功页面,如果自己设置了返回页面,则不跳转-->
|
|
|
<property name="unauthorizedUrl" value="/error"/><!-- 没有权限跳转的地址 -->
|
|
|
<property name="filterChainDefinitions">
|
|
|
<value>
|
|
|
/toLogin=anon <!--表示都可以访问-->
|
|
|
/static/**=anon <!--表示都可以访问-->
|
|
|
/error=authc
|
|
|
/test=anon
|
|
|
/login=anon
|
|
|
/home=perms[home] <!--perms表示需要该权限才能访问的页面-->
|
|
|
/admin=roles["admin"] <!-- roles["admin,user"] 只有拥有admin角色的用户才可访问,同时需要拥有多个角色的话,用引号引起来,中间用逗号隔开-->
|
|
|
<!--/admin=anon-->
|
|
|
/**=authc <!--authc表示需要认证才能访问的页面-->
|
|
|
</value>
|
|
|
</property>
|
|
|
</bean>
|
|
|
|
|
|
<!-- 自定义Realm -->
|
|
|
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
|
|
|
<property name="realm" ref="MyRealm"/>
|
|
|
</bean>
|
|
|
|
|
|
<!-- 注入到自定义Realm -->
|
|
|
<bean id="MyRealm" class="com.emr.shiro.MyRealm">
|
|
|
<!-- 定义凭证匹配器 -->
|
|
|
<!-- <property name="credentialsMatcher" ref="credentialsMatcher"></property>-->
|
|
|
</bean>
|
|
|
<!--第一步:直接配置一个 securityManager -->
|
|
|
|
|
|
<!--<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">-->
|
|
|
|
|
|
|
|
|
<!--<!–刚配置时,先把这条注释掉,等后面写了MyRealm.java时,再把它的注释去掉,因为如果没有去掉就会在-->
|
|
|
<!--tomcat开启时报一个错误 –>-->
|
|
|
|
|
|
<!--<!–<property name="realm" ref="myRealm" /> –>-->
|
|
|
|
|
|
<!--</bean>-->
|
|
|
<!--<bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/>-->
|
|
|
<!--<!– 第三步:把请求路径拦截之后的处理 –>-->
|
|
|
<!--<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">-->
|
|
|
<!--<!–shiro整个的处理,都由securityManger指定和决定 –>-->
|
|
|
<!--<property name="securityManager" ref="securityManager"/>-->
|
|
|
<!--<!– loginUrl==>如果登录成功,跳转到哪个页面,或者执行哪个请求 –>-->
|
|
|
<!--<property name="loginUrl" value="/login.jsp"/>-->
|
|
|
<!--<!– 验证通过执行的请求或者跳转 –>-->
|
|
|
<!--<property name="successUrl" value="/home.jsp"/>-->
|
|
|
<!--<!– 验证不通过执行的请求或者跳转 –>-->
|
|
|
<!--<property name="unauthorizedUrl" value="/unauthorized.jsp"/>-->
|
|
|
<!--<!– 具体的拦截路径和拦截的方式和角色和权限的范围 –>-->
|
|
|
<!--<property name="filterChainDefinitions">-->
|
|
|
<!--<value>-->
|
|
|
<!--</value>-->
|
|
|
<!--</property>-->
|
|
|
<!--</bean>-->
|
|
|
</beans>
|