<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
beans
xmlns
=
"http://www.springframework.org/schema/beans"
xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop
=
"http://www.springframework.org/schema/aop"
xmlns:context
=
"http://www.springframework.org/schema/context"
xmlns:jdbc
=
"http://www.springframework.org/schema/jdbc"
xmlns:tx
=
"http://www.springframework.org/schema/tx"
xmlns:task
=
"http://www.springframework.org/schema/task"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
<
bean
id
=
"securityManager"
class
=
"org.apache.shiro.web.mgt.DefaultWebSecurityManager"
>
<
property
name
=
"realm"
ref
=
"authRealm"
/>
<
property
name
=
"cacheManager"
ref
=
"cacheManager"
/>
</
bean
>
<
bean
id
=
"authRealm"
class
=
"com.itheima.web.shiro.AuthRealm"
>
<
property
name
=
"credentialsMatcher"
ref
=
"customerCredentialsMatcher"
></
property
>
</
bean
>
<
bean
id
=
"customerCredentialsMatcher"
class
=
"com.itheima.web.shiro.CustomCredentialsMatcher"
></
bean
>
<
bean
id
=
"cacheManager"
class
=
"org.apache.shiro.cache.MemoryConstrainedCacheManager"
></
bean
>
<
bean
id
=
"shiroFilter"
class
=
"org.apache.shiro.spring.web.ShiroFilterFactoryBean"
>
<
property
name
=
"securityManager"
ref
=
"securityManager"
/>
<
property
name
=
"loginUrl"
value
=
"/login.jsp"
></
property
>
<
property
name
=
"unauthorizedUrl"
value
=
"/unauthorized.jsp"
></
property
>
<
property
name
=
"filterChainDefinitions"
>
<
value
>
/system/module/list.do = perms["模块管理"]
/index.jsp* = anon
/login.jsp* = anon
/login* = anon
/logout* = anon
/css/** = anon
/img/** = anon
/plugins/** = anon
/make/** = anon
/** = authc
</
value
>
</
property
>
</
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
>
<
aop:aspectj-autoproxy
proxy-target-class
=
"true"
/>
</
beans
>