后台登录遇到问题及总结

引言

之前的登录和后台初始化等都是凯强学长弄,在弄新系统的登录可谓是遇到了很多的错误,我想造成这样结果的原因是自己后台学习不牢固,敏捷开发思想没有把握。

H2数据库持久化

开始并不知道采用的是h2数据库,也看不懂,那时就在想老师建立了实体怎么测试呢,难道不需要配置数据库吗。就开始自己瞎琢磨,将workReview项目的数据库照搬过来,但是一直报错,问了老师才知道已经采用h2数据库了。后台登录遇到问题及总结_第1张图片

使用方法:后台登录遇到问题及总结_第2张图片

登录:

初始化用户

由于采用起前台来测试后台登录,那么就需要初始化一个用户,那么如何初始化一个用户呢:
它能在起完后台环境之前执行,我想是下面的作用:
在初期为了让自己走的更远、更平稳,就不进行深入了解了。

前后台链接

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

Spring Security

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

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

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

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

如果需要,可以去看喜硕学长的文章Spring Security and Angular 实现用户认证

X-auth-token认证

正当我以为万事大吉,开始测试的时候发现:image.png
登录可以登录成功,但是登录之后请求就会报401,说明登录之后再次请求后台没有认证成功,问了老师之后
后台登录遇到问题及总结_第3张图片
发现是没有启用header认证机制,也没有传token
后台启用header认证机制:

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

前台增加x-auth-token拦截器:
后台登录遇到问题及总结_第4张图片

登录流程:

后台登录遇到问题及总结_第5张图片

总结:

1.敏捷开发思维(保证分配的任务能够当天完成)
2.单元测试
3.反复看教程

结语:

本周是煎熬的一周,因为在用很多不熟悉的,或者说不常用的,但是进步真的很大。以使用单元测试进行开发为例,虽然开始很煎熬且遇到各种奇奇怪怪的问题,但是掌握知识之后是很快乐的。

你可能感兴趣的:(后台登录遇到问题及总结)