引言

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

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.重复看教程

结语:

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