springmvc+shiro简单配置及作用(shiro部分)

来源:互联网 发布:如何统计用户数据分析 编辑:程序博客网 时间:2024/05/16 19:47

1.   web.xml配置shirofilter

<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  shiro相关配置

<bean id="myRealm" class="com.mvc.rest.core.util.MyRealm"/>  <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">    <property name="realm" ref="myRealm"/>  </bean>
【这里主要是设置自定义的单Realm应用,若有多个Realm,可使用'realms'属性代替,也可设置<property name="sessionMode" value="native"/>】

3.spring shiro拦截配置

 <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">    <!-- Shiro的核心安全接口,这个属性是必须的 -->    <property name="securityManager" ref="securityManager"/>    <property name="loginUrl" value="/login.jsp"/>    <property name="unauthorizedUrl" value="/login.jsp"/>    <property name="filterChainDefinitions">      <value>        /login=anon        /getVerifyCodeImage=anon        /**=authc             </value>    </property>  </bean>

【简单配置,若是想扩展配置,一般在方法上注解,若是想实现类似动态拦截的可以重写filter和filterChainDefinitions的方法】

public enum DefaultFilter {    anon(AnonymousFilter.class),    authc(FormAuthenticationFilter.class),    authcBasic(BasicHttpAuthenticationFilter.class),    logout(LogoutFilter.class),    noSessionCreation(NoSessionCreationFilter.class),    perms(PermissionsAuthorizationFilter.class),    port(PortFilter.class),    rest(HttpMethodPermissionFilter.class),    roles(RolesAuthorizationFilter.class),    ssl(SslFilter.class),    user(UserFilter.class);} 

3. spring shiro开启注解配置

  <bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" depends-on="lifecycleBeanPostProcessor"/>  <bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">    <property name="securityManager" ref="securityManager"/>  </bean>



0 0
原创粉丝点击