ssh整合shiro后,工程的登录首页login.htm 访问不到404错误

qq_30948907 2018-05-18 05:08:50
今天第一天配置ssh整合shiro,求大神看看哪里配置错误,还需要看哪里的配置,请评论指出

web.xml --只贴出了struts和shiro过滤器的

<!-- shiro权限过滤器 -->
<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>
<!-- shiro的filter-mapping -->
<filter-mapping>
<filter-name>shiroFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>

<!--struts2 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>




spring.xml


<!--引入shiro配置文件 -->
<import resource="classpath:spring-shiro.xml"/>

<!-- 2. 自动扫描 加载spring管理的对象 -->
<context:component-scan base-package="com"></context:component-scan>

<!-- 3. 加载jdbc.properties 基础配置文件 -->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:jdbc.properties</value>
</list>
</property>
</bean>
<!-- 4. 配置第三方数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" >
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>

<property name="initialSize" value="1" />
<property name="maxActive" value="1" />
<property name="maxIdle" value="1" />
<property name="maxWait" value="500" />
<property name="defaultAutoCommit" value="false" />
</bean>


<!-- 5. 配置sessionFactory 连接工厂 -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan">
<list>
<value>com.**.bean</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
${hibernate.dialect}
</prop>
<prop key="hibernate.show_sql">
${hibernate.show_sql}
</prop>
<prop key="hibernate.hbm2ddl.auto">
${hibernate.hbm2ddl.auto}
</prop>
</props>
</property>
</bean>


<!-- 6. 事务管理器 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>

<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="insert*" propagation="REQUIRED" />
<tx:method name="edit*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="remove*" propagation="REQUIRED" />
<tx:method name="delete*" propagation="REQUIRED" />
<tx:method name="dels*" propagation="REQUIRED" />
<tx:method name="jdels*" propagation="REQUIRED" />
<tx:method name="batchUpdate" propagation="REQUIRED" />
<tx:method name="*" propagation="REQUIRED" read-only="true" />
</tx:attributes>
</tx:advice>
<!-- read-only="true" 其他的方法 不参与事务 -->


<aop:config>
<aop:pointcut expression="execution(* com..service.*Service.*(..))" id="targetMethod"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="targetMethod"/>
</aop:config>


shiro.xml


<!-- 对应于web.xml中配置的那个shiroFilter -->
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
<!-- Shiro的核心安全接口,这个属性是必须的 -->
<property name="securityManager" ref="securityManager"/>
<!-- 要求登录时的链接(登录页面地址),非必须的属性,默认会自动寻找Web工程根目录下的"/login.jsp"页面 -->
<property name="loginUrl" value="/login.htm"/>
<!-- 登录成功后要跳转的连接(本例中此属性用不到,因为登录成功后的处理逻辑在LoginController里硬编码) -->
<!-- <property name="successUrl" value="/" ></property> -->
<!-- 用户访问未对其授权的资源时,所显示的连接 -->
<property name="unauthorizedUrl" value="/html/login.htm"/>

<property name="filterChainDefinitions">
<value>
/login.htm=anon
/css/**=anon
/images/**=anon
/js/**=anon
/js_sun/**=anon
/myjs/**=anon

</value>
</property>

</bean>

<!-- Shiro安全管理器 -->
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
<!--注入自定义Realm -->
<property name="realm" ref="myRealm"></property>
</bean>

<!--自定义Realm -->
<bean id="myRealm" class="com.hrgj.oa.qxgl.yhgl.realmUtil.myRealm"/>


<!-- 开启shiro框架注解支持 -->
<!-- <bean id="defaultAdvisorAutoProxyCreator" class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"> -->
<!-- <property name="proxyTargetClass" value="true"></property> -->
<!-- </bean> -->

<!-- 配置shiro框架提供的切面,用于创建代理对象 -->
<!-- <bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor" /> -->
<!-- 保证实现了Shiro内部lifecycle函数的bean执行 -->
<bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor" />



...全文
830 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
practiceing 2018-05-19
  • 打赏
  • 举报
回复
检查一下下面这个地址能否访问到 /html/login.htm
<property name="unauthorizedUrl" value="/html/login.htm"/>

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧