初识ABP vNext(5):ABP扩展实体

本文介绍了ABP vNext框架中关于非对称加密的认证服务,包括OAuth2.0的配置、自定义认证授权、非对称加密认证流程分析、密钥证书的生成与公钥提取。同时,通过实例展示了如何仅使用账号密码登录,简化登录过程。最后,总结了认证服务的关键点和非对称加密的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前因为没学过Spring Security和OAuth2.0,所以看这一章的视频的时候看的一头雾水。所以花了几天时间恶补了一下这方面的知识,并且写了两篇文章,把这两部分内容详细说明了一下。

下面的内容只是针对于这个项目的,前两篇文章中说过的内容就不再说了。

认证服务介绍

怎么搭建OAuth2.0我之前的文章已经详细说过了,这里直接将资料里提供的代码导入即可。

image

这里简单总结一下每个文件的作用:

  • AuthorizationServerConfig

    这个是OAuth2.0的认证服务配置。主要有三点,第一是客户端信息配置,也就是客户端需要有哪些条件才可以访问服务器,比如客户端id和客户端密钥等,可以直接配置到内存中,也可以配置从数据库中读取;第二是授权服务器端点配置,就是配置认证管理器,令牌存储方式等;第三个是授权服务器的安全配置,就是配置访问的限制,比如限制校验令牌的配置等。

  • CustomUserAuthenticationConverter

    自定义的UserAuthenticationConverter,继承自DefaultUserAuthenticationConverter,重写了convertUserAuthentication方法。默认该方法是获取authentication中的username权限信息。而我们重写的方法里面还获取了authentication中的principal,判断是不是我们自定义的UserJwt,不是的话就调用userDetailsService.loadUserByUsername去获取,然后将userJwt中的nameid获取出来,添加到返回的map中。

  • UserDetailsServiceImpl

    这个是自定义的认证授权类,实现了UserDetailsService接口,并实现了里面的loadUserByUsername()方法。这个方法是根据前端传进来的用户名去查出对应的用户信息。然后交给后续的过滤器去进行用户身份的验证。一般这个方法是从数据库中查找用户,但是这里为了测试就直接new了一个临时用户,密码是 "robod666" ,所以只要前端传过来的密码是 “robod666” 就可以正常登录。

  • WebSecurityConfig

    这个是Spring Security的安全配置类。主要配置了某些对于某些请求的限制。在这个类中,还往Spring容器中注入了passwordEncoderauthenticationManagerBean供其他类使用。

  • UserLoginController

    这个是自定义的一个只使用用户名和密码进行登录的简化的登录方式。

  • LoginServiceLoginServiceImpl

    Us

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值