spring-mvc中shiro控制登录访问权限
步骤:
1.在web.xml中配置
2.在spring-mvc中配置
3.创建两个实体类 :(在web层创建)
实体类一: AuthRealm 继承shrio包中的类 AuthorizingRealm , AuthorizingRealm是realm的实现类之一
实体类二: CustomCredentialsMatcher 继承 SimpleCredentialsMatcher
4.在登录方法编写登录代码 --> 在AuthRealm编写代码 --> 在CustomCredentialsMatcher 编写代码
1.在web.xml中配置 , 官网copy ,不做修改
<!-- Shiro Security filter filter-name这个名字的值将来还会在spring中用到-->
<filter>
<filter-name>shiroFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<init-param>
<param-name>targetFilterLifecycle</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>shiroFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2.在spring-mvc中配置如下代码
注:实体类路径需要根据实体类位置稍作修改
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
<!--引用自定义的realm -->
<property name="realm" ref="authRealm"/>
<!--使用缓存-->
<property name="cacheManager" ref="cacheManager"></property>
</bean>
<!--我这里使用内置缓存,可以使用redis等,自行修改配置-->
<bean id="cacheManager" class="org.apache.shiro.cache.MemoryConstrainedCacheManager"></bean>
<!-- 自定义Realm域的编写 -->
<bean id="authRealm" class="com.master.web.shiro.AuthRealm">