共计 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. 重复看教程
结语:
本周是煎熬的一周,因为在用很多不相熟的,或者说不罕用的,然而提高真的很大。以应用单元测试进行开发为例,尽管开始很煎熬且遇到各种奇奇怪怪的问题,然而把握常识之后是很高兴的。