sssm

来源:互联网 发布:爱伦坡 乌鸦 知乎 编辑:程序博客网 时间:2024/05/24 01:37

web.xml配置<context-param><param-name>contextConfigLocalhost</param-name>

<param-vlaue>classpath:spring-context.xml</param-value></context-param>


<listener><listener-alcss>org.springframework.web.context.ContextLoaderListener</listener-class></listener><filter><description>字符集过滤器</description><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><description>字符集编码</description><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.speingframework.web.servlet.DispatcherServlet</selevet-class><init-param><param-name>contextConfigLocalhost</param-name><param-value>classpath:spring-mvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping><!-- 配置 Shiro 的 Filter --><filter><description>shiro 权限拦截</description><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><!---------------------------------------------------web.xml配置完成----------------------------------------------------------><!---------------------------------------------------spring-context.xml开始--------------------------------------------------><context:property-placeholderlocation="classpath:jdbc.properties"/><context:component-scanbase-package="com.fei"><context:exclude-filtertype="annotation"expression="org.springframework.stereotype.Controller"/></context:component-scan><!-- 配置数据源 --> <bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"><!-- <property name="driverClassName" value="${jdbc.driverClassName}" /> --><propertyname="url"value="${jdbc.url}"/><propertyname="username"value="${jdbc.username}"/><propertyname="password"value="${jdbc.password}"/><propertyname="initialSize"value="${jdbc.initialSize}"/><propertyname="minIdle"value="${jdbc.minIdle}"/><propertyname="maxActive"value="${jdbc.maxActive}"/><propertyname="maxWait"value="${jdbc.maxWait}"/><propertyname="timeBetweenEvictionRunsMillis"value="${jdbc.timeBetweenEvictionRunsMillis}"/><propertyname="minEvictableIdleTimeMillis"value="${jdbc.minEvictableIdleTimeMillis}"/><propertyname="validationQuery"value="${jdbc.validationQuery}"/><propertyname="testWhileIdle"value="${jdbc.testWhileIdle}"/><propertyname="testOnBorrow"value="${jdbc.testOnBorrow}"/><propertyname="testOnReturn"value="${jdbc.testOnReturn}"/><propertyname="removeAbandoned"value="${jdbc.removeAbandoned}"/><propertyname="removeAbandonedTimeout"value="${jdbc.removeAbandonedTimeout}"/><!-- <property name="logAbandoned" value="${jdbc.logAbandoned}" /> --><propertyname="filters"value="${jdbc.filters}"/><!-- 关闭abanded连接时输出错误日志 --><propertyname="logAbandoned"value="true"/> <!-- <propertyname="proxyFilters"><list><refbean="log-filter"/></list></property> --> <!-- 监控数据库 --> <!-- <property name="filters" value="stat" /> --> <!-- <property name="filters" value="mergeStat" /> --> </bean><beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean"><propertyname="dataSource"ref="dataSource"/><propertyname="configLocation"value="classpath:mybatis-config.xml"/><propertyname="mapperLocations"><list><value>classpath:mapper/*.xml</value></list></property></bean><beanid="sqlSessionTemplate"class="org.mybatis.spring.SqlSessionTemplate"><constructor-argindex="0"ref="sqlSessionFactory"/></bean><beanclass="org.mybatis.spring.mapper.MapperScannerConfigurer"><propertyname="basePackage"value="com.fei.dao"/><propertyname="sqlSessionFactoryBeanName"value="sqlSessionFactory"/></bean><beanid="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><propertyname="dataSource"ref="dataSource"/></bean><!-- AOP配置--> <aop:config> <aop:pointcut id="myPointcut" expression="execution(public * com.fei.*.service.impl.*.*(..))" /><aop:advisoradvice-ref="txAdvice"pointcut-ref="myPointcut"/></aop:config><tx:adviceid="txAdvice"transaction-manager="transactionManager"><tx:attributes><tx:methodname="publish*"/><tx:methodname="save*"/><tx:methodname="add*"/><tx:methodname="update*"/><tx:methodname="insert*"/><tx:methodname="create*"/><tx:methodname="del*"/><tx:methodname="load*"/><tx:methodname="init*"/><tx:methodname="*"read-only="true"/></tx:attributes></tx:advice><importresource="spring-shiro.xml"/><!------------------------------------------------------------------spring-context.xml配置完成-------------------------------------------------------><!------------------------------------------------------------------spring-mvc.xml配置开始---------------------------------------------------------><context:component-scanbase-package="com.fei"><context:include-filtertype="annotation"expression="org.springframework.stereotype.Controller"/></context:component-scan><mvc:annotation-driven></mvc:annotation-driven><mvc:default-servlet-handler/><mvc:resourceslocation="/view/"mapping="/view/**"/><beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"><propertyname="prefix"value="/WEB-INF/view/"/><propertyname="suffix"value=".jsp"/></bean><!------------------------------------------------------------------spring-mvc.xml配置完成---------------------------------------------------------><!------------------------------------------------------------------spring-shiro.xml配置开始--------------------------------------------------------><!-- 1 配置securitymanager --><beanid="securityManager"class="org.apache.shiro.web.mgt.DefaultWebSecurityManager"><propertyname="cacheManager"ref="cacheManager"/><!-- Single realm app. If you have multiple realms, use the 'realms' property instead. --><propertyname="sessionMode"value="native"/><propertyname="realm"ref="jdbcRealm"/></bean><!-- 2 配置缓存 --><beanid="cacheManager"class="org.apache.shiro.cache.ehcache.EhCacheManager"><property name="cacheManagerConfigFile" value="classpath:ehcache.xml"/> </bean><!--3 配置 Realm--><beanid="jdbcRealm"class="com.fei.realm.ShiroRealm"><propertyname="credentialsMatcher"><beanclass="org.apache.shiro.authc.credential.HashedCredentialsMatcher"><propertyname="hashAlgorithmName"value="MD5"/><propertyname="hashIterations"value="1024"></property></bean></property></bean><!--4 spring ioc 生命周期 方法--><beanid="lifecycleBeanPostProcessor"class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/><!--5 启用IOC容器中的shiro的注解,在配置 lifecycleBeanPostProcessor之后可以使用--> <bean class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator" depends-on="lifecycleBeanPostProcessor"/><beanclass="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor"><propertyname="securityManager"ref="securityManager"/></bean><!--6 id必须和web.xml配置中的name一致 --><beanid="shiroFilter"class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"><propertyname="securityManager"ref="securityManager"/><propertyname="loginUrl"value="/login.jsp"/><propertyname="successUrl"value="/index.jsp"/><propertyname="unauthorizedUrl"value="/unauthorized.jsp"/><propertyname="filterChainDefinitions"> <!-- 配置那些页面需要保护 访问这些页面需要那些权限 anon :可以匿名访问 authc:必须要认证才能访问 roles:相应角色 --><value> /hello.jsp = anon /login.html = anon /css/**=anon /js/**=anon /Images/**=anon /shiro/login=anon /shiro/logout=logout /static/**=anon /bootstrap/**=anon /list.jsp= roles[admin] /** = authc</value></property></bean><--------------------------------------重点----Realm要实现AuthorizingRealm接口--------------------------

原创粉丝点击