weixin_46668875 2022-06-05 22:22 采纳率: 66.7%
浏览 20

shiro认证成功不跳转

问题遇到的现象和发生背景

shiro登录后不跳转到index

问题相关代码,请勿粘贴截图
<!--1.退出后台登录设置 -->
<bean id="logoutFilter" class="com.zhongnuo.common.SystemLogout">
    <property name="redirectUrl" value="/loginout" />
</bean>
<!--2.设置登录验证 -->
<bean id="securityManager"
    class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
    <!-- Single realm app. If you have multiple realms, use the 'realms' property 
        instead. -->
    <property name="realm" ref="authRealm" />
    <!-- 引用自定义的realm -->
    <!-- 缓存 -->
    <!-- <property name="cacheManager" ref="shiroEhcacheManager" />-->
    <!-- redis集群缓存 -->
    <property name="cacheManager" ref="cacheManager" />
    <!--实现记住我的功能-->
     <property name="rememberMeManager" ref="rememberMeManager"/>
</bean>
<!--3.设置过滤器 filter-name这个名字的值来自于web.xml中filter的名字 -->
<bean id="shiroFilter"
    class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
    <property name="securityManager" ref="securityManager" />
    <!--登录页面-免费客户使用的页面 -->
    <property name="loginUrl" value="/login"></property>
    <!-- 登录成功后-付费客户使用的页面 -->
    <property name="successUrl" value="/index.jsp"></property>
    <!-- 权限认证失败,则跳转到指定页面 -->
    <!-- <property name="unauthorizedUrl" value="/login" /> -->
    <!--退出登录 -->
    <property name="filters">
        <map>
            <!-- 将自定义 的FormAuthenticationFilter注入shiroFilter中 -->
            <entry key="logout" value-ref="logoutFilter" />
            <!-- 配置 重写的 父类方法 issueSuccessFilter 让自己重写的方法起到作用 以防止 登录成功后 不调到 successUrl 
                的问题 -->
           <!--<entry key="authc" value-ref="runyiFormAuthenticationFilter" />-->
        </map>
    </property>
    <property name="filterChainDefinitions">
        <!-- /**代表下面的多级目录也过滤 -->
        <value>
            <!--表单请求避免被误拦截 -->
            /login*.jsp=anon
            /web.xml=anon
            /home* = anon
            /login* =anon
            /css/** = anon
            /image/**=anon
            /js/** = anon
            /make/** =anon
            /skin/** = anon
            /stat/** = anon
            /ufiles/** =anon
            /validator/** =anon
            /xsloader-js/**=anon
            /resource/** = anon
            /js/private.js=anon
            /favicon.ico=anon
            /css/main.css=anon
            /login.jsp* =anon
            /css/normalize.css=anon
            /css/reset.css=anon
            /css/main.css=anon
            /es6/**=anon
            /image/logo.jpg=anon
            /css/header.css=anon
            /image/nav-show.png=anon
            /image/bg.png=anon
            /user/account/**=anon
            /sucessUrl/index.do=anon
            <!--验证码 -->
            /user/Verification=anon
            /user/login=anon
            /creditTest=anon
            /index*=anon
            /index*.jsp=user 
            /logout =logout
            /**/ajax/**=user 
            /**=user
            /pages/**=authc                 
        </value>
    </property>
</bean>
<!--不跳转到 successUrl 的问题解决 -->
<!--<bean id="runyiFormAuthenticationFilter"
    class="com.zhongnuo.common.RunyiFormAuthenticationFilter" />-->
<!--<bean id="shiroEhcacheManager"
    class="org.apache.shiro.cache.ehcache.EhCacheManager">
    <property name="cacheManagerConfigFile"
        value="classpath:spring/ehcache-shiro.xml" />
</bean>-->
<!--4.自定义权限认证 -->
<bean id="authRealm"
    class="com.zhongnuo.controller.afterinput.domin.AuthRealm">
    <!--<property name="mainloginManagementService" ref="mainloginManagementService"/> -->
    <!-- 自定义密码加密算法 -->
    <property name="credentialsMatcher" ref="passwordMatcher" />
    <!--缓存配置 -->
    <property name="cachingEnabled" value="true" />
    <!-- 开启认证缓存--> 
    <property name="authenticationCachingEnabled" value="true" />
     <!-- 指定认证缓存的名字(与 ehcache.xml 中声明的相同) --> 
    <property name="authenticationCacheName"
        value="authenticationCache" />
     <!--开启授权缓存-->      
    <property name="authorizationCachingEnabled" value="true" />
    <!-- 指定授权缓存的名字(与 ehcache.xml 中声明的相同) -->
    <property name="authorizationCacheName" value="authorizationCache" />
</bean>
<!--5.设置密码加密策略 md5hash -->
<bean id="passwordMatcher"
    class="com.zhongnuo.controller.afterinput.domin.CustomCredentialsMatcher" />
<!-- 用户授权/认证信息Cache, 采用EhCache 缓存 -->
<!--6.保证实现了Shiro内部lifecycle函数的bean执行 -->
<bean id="lifecycleBeanPostProcessor"
    class="org.apache.shiro.spring.LifecycleBeanPostProcessor" />
<!--7.生成代理,通过代理进行控制 -->
<bean
    class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"
    depends-on="lifecycleBeanPostProcessor">
    <property name="proxyTargetClass" value="true" />
</bean>
<!--8.安全管理器 -->
<bean
    class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor">
    <property name="securityManager" ref="securityManager" />
</bean>
<!--9.修改默认sessionID 为notice-center-->
<bean id="sessionIdCookie"
    class="org.apache.shiro.web.servlet.SimpleCookie">
    <constructor-arg name="name" value="notice-center"/>
    <property name="path" value="/"/>
</bean>
<!--10.rememberMeManager管理器,写cookie,取出cookie生成用户信息 -->
<bean id="rememberMeManager" class="org.apache.shiro.web.mgt.CookieRememberMeManager">
    <property name="cookie" ref="rememberMeCookie"/>
</bean>
<!--11.记住我cookie -->
<bean id="rememberMeCookie" class="org.apache.shiro.web.servlet.SimpleCookie">
    <!-- rememberMe是cookie的名字 -->
    <constructor-arg value="notice-cookie"/>
    <!-- 记住我cookie生效时间30天 -->
    <property name="maxAge" value="2592000"/>
</bean>
<!-- SessionID生成器sessionIdGenerator-->
<bean id="sessionIdGenerator" class="com.zhongnuo.shiro.utils.session.ShiroSessionIdGenerator" />
<!--****** -->
<!--第六部分sprin-shiro.xml内容结束 -->
运行结果及报错内容

1.无法跳到index
2.登录时直接输入login.jsp后台无反应,输其他则正常

我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

2条回答 默认 最新

  • 吕布辕门 后端领域新星创作者 2022-06-05 22:35
    关注

    你的登录页面地址应该不是login.jsp,输入下面试一下。

    img


    登录成功后才能跳到index

    评论

报告相同问题?

问题事件

  • 创建了问题 6月5日

悬赏问题

  • ¥20 校园二手交易小程序搭建
  • ¥15 请问在ubuntu用conda创建环境报错怎么能解决
  • ¥15 STM32CubeMX/proteus按键控制指示灯颜色切换
  • ¥20 python,计算区位熵和扩张指数
  • ¥15 Python环境配置
  • ¥15 大四学生的困惑,有偿提问!
  • ¥15 解决页面无法编入索引:被“noindex”标签排除的问题?
  • ¥15 arduino测量电阻
  • ¥15 快手uid转快手号谁能解决 需要开发
  • ¥15 iis部署Django时css不生效,来个真人,ai不好使