spring boot 参考文章及踩过的坑

本文总结了Spring Boot在Web配置中遇到的问题与解决方案,包括context-path设置、JSP支持、热部署、CsrfFilter与REST冲突、security设置、MD5密码编码、Freemarker上下文路径、统一异常处理、JPQL查询等多个方面,提供了详细的参考资料。
摘要由CSDN通过智能技术生成

参考:https://www.cnblogs.com/wmyskxz/p/9010832.html

1.文章中加了个上下文context-path=/hello

访问的时候我访问 http://localhost:8080/hello Whitelabel Error Page   http://localhost:8080  404

后面发现不是那么回事,是上下文。如果想访问hello,应该是这样的 http://localhost:8080/hello/hello 前面的hello是上下文,后面那个才是对应controller的url

2.配置支持jsp的时候,参考文章不成功。

后面把下面的一句中provided去掉就行了。

    <dependency>
      <groupId>org.apache.tomcat.embed</groupId>
      <artifactId>tomcat-embed-jasper</artifactId>
<!--      <scope>provided</scope>-->
   </dependency>

3.其中让springboot能支持热部署,idea需要额外参考https://blog.csdn.net/xusheng_Mr/article/details/78771746 文中有

第二步这个比较关键组合键:Shift+ALT+Ctrl+/ ,选择“Registry”,回车,找到“complier.automake.allow.when.app.running” 

4.解决CsrfFilter与Rest服务Post方式的矛盾  好像csrf和post有冲突。

参考:https://blog.csdn.net/sinat_28454173/article/details/52251004

5.security设置defaultSuccessUrl()不起作用问题

参考:https://blog.csdn.net/jia__/article/details/78304932

6.security登陆既不走成功的url,又不走失败的url,还是走默认的/login。解题思路:放开所有限制,让所有的都不用认证。登录发现报错了。请求到了/error,但是/error需要认证,所以一直走/login。认证中排除掉/error就ok了。

7.spring boot 2用的是spring security 5 没有直接的MD5passwordencode 了,说md5不怎么安全,以前代码用MD5并且加了盐值。对应的是新的方式处理。用 new MessageDigestPasswordEncoder("MD5")

参考:https://info.michael-simons.eu/2018/01/13/spring-security-5-new-password-storage-format/

不过我这个是有盐值。但是重写passwordEncoder,里面获取不到传入的用户账号,本来打算用SecurityContextHolder.getContext().getAuthentication().getPrincipal()

但是为null 可能是不在过滤器中,因为是登录界面,另外网上说是过程完成后自动清理掉了。不知道怎么获取了。用threadlocal 存一下吧。

代码如下。

@Override
protected  void configure(AuthenticationManagerBuilder auth) throws Exception{
    auth.userDetailsService(
            new UserDetailsService() {
                @Overrid
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值