我在网上看到你解决掉shiro不跳转successUrl的问题,我现在也碰到了这样的问题,请您帮我看看吧

原来如此 发布于 2012/08/07 11:03
阅读 4K+
收藏 0
 <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"
default-lazy-init="true">
<description>Shiro Configuration</description>
<!-- Shiro's main business-tier object for web-enabled applications -->
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager" depends-on="userDao,groupDao">
<property name="realm" ref="shiroDbRealm" />
<property name="cacheManager" ref="cacheManager" />
</bean>
<!-- 项目自定义的Realm -->
<bean id="shiroDbRealm" class="org.myfuse.miniweb.service.account.ShiroDbRealm">
<property name="accountManager" ref="accountManager"/>
</bean>
<!-- Shiro Filter -->
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
<property name="securityManager" ref="securityManager" />
<property name="successUrl" value="/welcome" />
<property name="loginUrl" value="/login" />
<property name="filterChainDefinitions">
<!-- 
authc filter 监听/login的POST请求(Get的不管)进行登录认证。如果成功就跳回前一个页面 或者上面配的successfulUrl,如果失败就forward到login page,不过这时候就是POST的,那个打酱油的LoginController要注意。
logout filter 负责监听/logout,所以把"退出登录"的链接设为/logout即可
/static/** 这些静态图片都不需要监控,轻轻放过,然后后面几个link就需要permission控制了。
/** = user 最后保证除上述url外的所有url都必须是已登录的,未登录的用户访问会跳转到登录页面。
另外RememberMe默认由cookie实现,有效时间一年,如果需要改变,配置新的RememberMeManager并注入SecurityManager.
-->
<value>
/login = authc
/logout = logout
/static/** = anon
<!-- localhost:8080/favicon.ico最简单解决办法,添加到匿名的过滤器链 -->
/favicon.ico = anon
    /** = user
</value>
</property>
</bean>
<!-- 用户授权信息Cache -->
<bean id="cacheManager" class="org.apache.shiro.cache.MemoryConstrainedCacheManager" />
<!-- 保证实现了Shiro内部lifecycle函数的bean执行 -->
<bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/>
<!-- AOP式方法级权限检查  -->
<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>
</beans> 
这是我的配置文件,请您帮我看看,非常感激
加载中
0
Martin_Luo
Martin_Luo

我也遇到这个问题,死活不转。郁闷 !!!

而且如果有index.jsp页面。认证成功后会跑到 index.jsp;而不是successUrl页面 ;

Martin_Luo
Martin_Luo
回复 @原来如此 : 是的。。。
原来如此
原来如此
你用的是spring MVC吗
0
z
zhuwsoft
我的执行登陆就没反应了,能麻烦给我发份参考下不?464281868
0
boonya
boonya
我后台通过验证了,但是不能跳转到正确的页面,总是404。我直接在浏览器输入才可以进入authc的URL,我想的是登录成功就直接跳转到该页面的,但是事与愿违
0
原来如此
原来如此

最后终于解决掉了!shiro跳不跳我不再搭理它了,而是在springMVC的配置文件中加上

<mvc:view-controller path="/" view-name="redirect:/welcome"/>

意思是访问"/"重定向到welcome

0
boonya
boonya
验证成功后直接重定向也可以
返回顶部
顶部