一、概要架构
二、流程
三、配置mapper、写在applicationContext里
因为web.xml里配置了
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<!--配置shiro框架 用于用户访问与授权的安全操作-->
<!--需求:没有认证的用户跳转到登陆页面-->
<!--配置安全管理器 securityManager-->
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
</bean>
<!--配置shiroFilterFactoryBean-->
<bean id="shiroFilterFactory" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
<!--set注入-->
<property name="SecurityManager" ref="securityManager"/>
<!--让非法用户进行登陆认证-->
<property name="LoginUrl" value="/doLoginUI"/>
<!--设置请求过滤规则-->
<!--anon是规则,表示允许匿名访问-->
<!--authc规则,表示授权才能访问-->
<property name="FilterChainDefinitionMap">
<map>
<entry key="/bower_components/**" value="anon"/>
<entry key="/build/**" value="anon"/>
<entry key="/dist/**" value="anon"/>
<entry key="/plugins/**" value="anon"/>
<entry key="/doLogin" value="anon"/>
<entry key="/doLogout" value="logout"/>
<entry key="/**" value="authc"/>
</map>
</property>
</bean>
四、配置Controller
// 配置登陆页面
@RequestMapping("doLoginUI")
public String doLoginUI(){
return "login";
}
五、在web.xml配置过滤器,写在servlet上访
<!--shiro中核心过滤器-->
<!--param-value对应bean id-->
<filter>
<filter-name>shiroFilterFactory</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<init-param>
<param-name>targetBeanName</param-name>
<param-value>shiroFilterFactory</param-value>
</init-param>
</filter>
<!-- Filter负责拦截的URL 全部以/的请求,如果<url-pattern>/*.action </>,将会以拦截*.action的请求-->
<filter-mapping>
<filter-name>shiroFilterFactory</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>