关于springboot:后台登录遇到问题及总结

4次阅读

共计 1289 个字符,预计需要花费 4 分钟才能阅读完成。

引言

之前的登录和后盾初始化等都是凯强学长弄,在弄新零碎的登录堪称是遇到了很多的谬误,我想造成这样后果的起因是本人后盾学习不牢固,麻利开发思维没有把握。

H2 数据库长久化

开始并不知道采纳的是 h2 数据库,也看不懂,那时就在想老师建设了实体怎么测试呢,难道不须要配置数据库吗。就开始本人瞎琢磨,将 workReview 我的项目的数据库照搬过去,然而始终报错,问了老师才晓得曾经采纳 h2 数据库了。

应用办法:

登录:

初始化用户

因为采纳起前台来测试后盾登录,那么就须要初始化一个用户,那么如何初始化一个用户呢:
它能在起完后盾环境之前执行,我想是上面的作用:
在初期为了让本人走的更远、更安稳,就不进行深刻理解了。

前后台链接

因为后盾教程学习不牢固,加之太久没有写过后盾代码,在开始的时候居然为了前后台端口问题推敲了半天。起初问了凯强学长,后盾端口在起环境之后控制台找就行。

Spring Security

在前后台链接之后发现登录怎么都登录不上,就开始推敲是不是前后台办法写错了,最初发现没有自定义配置,导致 spring security 起环境之后会生成一个随机的明码和用户名 user:

    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {User user = this.userRepository.findByUsername(username).orElseThrow(() -> new UsernameNotFoundException("用户不存在"));

        // 设置用户角色
        List<SimpleGrantedAuthority> authorities = new ArrayList<>();

        return new org.springframework.security.core.userdetails.User(username, user.getPassword(), authorities);
    }

如果须要,能够去看喜硕学长的文章 Spring Security and Angular 实现用户认证

X-auth-token 认证

正当我认为高枕无忧,开始测试的时候发现:
登录能够登录胜利,然而登录之后申请就会报 401,阐明登录之后再次申请后盾没有认证胜利,问了老师之后

发现是没有启用 header 认证机制,也没有传 token
后盾启用 header 认证机制:

 /**
   * 应用 header 认证来替换默认的 cookie 认证
   */
  @Bean
  public HttpSessionStrategy httpSessionStrategy() {return new HeaderHttpSessionStrategy();
  }

前台减少 x -auth-token 拦截器:

登录流程:

总结:

1. 麻利开发思维(保障调配的工作可能当天实现)
2. 单元测试
3. 重复看教程

结语:

本周是煎熬的一周,因为在用很多不相熟的,或者说不罕用的,然而提高真的很大。以应用单元测试进行开发为例,尽管开始很煎熬且遇到各种奇奇怪怪的问题,然而把握常识之后是很高兴的。

正文完
 0