• spring security中遇到的问题


    今天做项目遇到一个问题,也就是spring secuity的问题,场景是这样的,当我打开浏览器第一次登陆的时候登陆到主页的地址是/web/index.do,当时退出来再去登陆此时的地址是/new/open/index.do,此时就比较郁闷了,后来才知道了问题再哪里了,这是在第一次登陆的时候index.jsp中代码是这样的<%response.sendRedirect("/web/index.do");%>而在security.xml文件中配置,此资源是受保护的url的


        <http>
            <intercept-url pattern="/" filters="none"/>
             <intercept-url pattern="/open/**" filters="none" />
            <intercept-url pattern="/druid/**" filters="none" />
            <intercept-url pattern="/css/**" filters="none" />
            <intercept-url pattern="/images/**" filters="none" />
            <intercept-url pattern="/js/**" filters="none" />
            <intercept-url pattern="/uploads/**" filters="none" />
            <intercept-url pattern="/login.do" filters="none"/>
            <intercept-url pattern="/password/**" filters="none"/>
            <intercept-url pattern="/api" filters="none"/>
            <form-login login-page="/login.do" default-target-url="/login!redirect.do"
                        authentication-failure-url="/login.do?error=true" />
            <!--<http-basic/>-->

            <remember-me key="e37f4b31-0c45-11dd-bd0b-0800200c9a66" services-ref="rememberMeServices"/>
            <logout logout-success-url="/login.do" invalidate-session="true"/>
        </http>

    所以登陆成功之后跳转到之前受保护的地址,如果没有访问就跳到默认的default-target-url="/login!redirect.do的地址,所以问题知道了,修改index.jsp的转向地址为<%response.sendRedirect("login.do");%>就每次首页的地址会变成是以默认为准。。。

    总结:security的<form-login login-page="/login.do" default-target-url="/login!redirect.do"
                        authentication-failure-url="/login.do?error=true" />并不是总是默认的url登陆成功后,只有登陆成功之前没有访问受保护的资源他才会调到默认的请求

  • 相关阅读:
    【转】异或
    【算法习题】正整数数组中和为sum的任意个数的组合数
    mysql通过now()获取的时间不对
    【转】CentOS 7系统时间与实际时间差8个小时
    【算法习题】数组中任意2个(3个)数的和为sum的组合
    linux编译安装python3和安装django
    linux常见命令2
    解决安装centos的时候忘记打开网络的问题
    linux常见命令
    python3X和python2X的区别
  • 原文地址:https://www.cnblogs.com/working/p/3342793.html
Copyright © 2020-2023  润新知