00:00
哎,咱们大家学习的时候,有的时候就是这样哈,就是有的时候这个有个功能吧,或者有个知识点啊,其实可能他确实不重要,但是呢,你要要不就索性要不就彻底不讲,如果讲的话呢,你又不能说稀里糊涂的这个。不,不说清楚,但是有些时候这个有的技术点不重要,但是想说清楚得费一番口舌。所以说呢,你不要觉得说某个东西,他讲的时候用的时间长,你就觉得这东西很重要。有的东西它很重要,它但是呢,但是往往它因为用的很频繁,但是它可能很简单,很简单,可能很快就过去了。啊,所以这个东西不是以这个时间长短来论的啊。嗯。那么有了这个以后,我们看下一步哈。下边要做的这个事儿是查数据库哈。查数据库去完成这个认证啊,这是咱们之前是其实就应该是就是做到这儿了哈。
01:01
嗯。哎,这个是数据库的认证。查数据库,完成认证。我们首先说呢,Spring security这个它默认的这个实现,咱们就这个,咱们就咱们之前去看过了,这个不太好,这个方案啊,这个咱们就不说了啊,这个因为咱们也不用这个方案,咱们要用的呢,是这个user details service这个方案啊,咱们用的是这个方案,这个方案怎么做呢。我们需要先创建一个类,实现一个接口user details service。这个接口。这是第一步哈。去实现这个接口叫user details service。哎,去实现这个接口。
02:00
呃,这个得写一个写写写得写这么个类哈。嗯,把它放到LC容器里边哈,装配GDP。呃,这边然后他会给我们传入的呢,是传入这个用户名。根据用户名呢,把admin对象或者说用户对象查出来。去把这个角色或者权限封装进去,再把它给返回,但是它呢,得放到user里边哈,放到user对象里边返回。这是我们这是这个整个这一整套。嗯。这里边儿哈,我们需要关注的点呢,有这么几个哈,这个方法的名字。叫load user by username啊,根据用户名去加载用户。哎,就是把用户名给传进来。哎,然后呢,这边我们需要去准备authority。
03:01
然后呢,把这个用户名密码authority都封装到这个U对象里边返回啊。这个user对象呢,就是user details这个类型的。这是个接口,然后这个user呢,是一个具体的一个实现。其实我们从这呢看到一个问题。他拿到的这个优对象吧,只有用户名和密码。啊,这个先不说哈,就是说只有用户名密码没有什么呢,你像什么我们这儿查出来的,呃昵称呀,呃邮箱呀,啊或者你再查一些别的信息呢,他都没有。哎,所以这个这个对象是一个不完整的,我们在项目里边呢,得把它再扩展一下啊,项目里边用的把它再扩展一下。嗯,实现这个接口哈。别的呢,我想想啊。呃,对,这是去创建这个in的这个表,嗯。哎,对,这边得把它用上啊,这个得建出来以后得把它用上。
04:05
就是说要使用user。Details。Service啊,这个对象。这个用的话呢。用的话是。对,就是在这个build哈,就是把以前这个内存版的这个呢,注视角用它。复制我们这边这个代码吧。以前这个内存版的就不要了。调它的user service,当然这个东西你这想传过来,你得提前呢,你得把它给这个装配进来啊。啊,这边得有一个outwa去做这个装配。
05:06
嗯,我们这这这专门说一下吧,啊,就是说需要去把user。Details。装配到我们这个配置类中。哎,装配一下,装配完了以后下边用就正常就用就好了。呃,核心的最主要的话还是这个这个方法实现这个方法,它里边的这些个具体的代码。
我来说两句