00:00
我们该说啥了,退出完事了哈,嗯。退出完事,那么就说我们登录这流程呢,基本上OK了,下一步得考虑呢,把这个登录哈改成。呃,把现在是内存的登录,把它得改成我们这个查数据库的登录。把。内存。登录改成数据库登录。这个事儿要做这个就比较麻烦了,为啥呢?因为我们回忆一下我们这个数据库登录的方式哈。我们需要让这个builder对象,我们有一个builder对象。让给它里边呢,装配一个user details service。啊,传一个details service。把这个传给传给这个build。
01:04
然后呢,User details service里边有一个方法,根据用户名去查,呃,根据用户名去查这个对象。他叫load user by username。他有这么个方法。这里边儿呢,会把这个表单提交的user name给我们传过来。那么我们下一步就是根据这个用户名,我们得去查。呃,得去查这个对象。根据他去查这个admin的对象。这个倒是,我们以前倒是写过类似的方法,这个应该是问题不大。啊,这个问题不大。但是查这个呢还不够。还得去查那什么呢?查这个关联的角色和权限。
02:01
哎,去查询关联的角色。还得去查这个关联的权限。哎,查角色查权限。然后呢,呃,这个角色和权限要组装一下,组装到哪呢?这个东西叫做我们有一个得建一个list。List里边放的这个东西呢,叫做granted authority。放到这么个集合子里边。哎,他俩都要放里边,当然这个呢,记得加那个肉杠的前缀。哎,然后呢,这个din。他的username和password。
03:04
把这里边的username和password username在这儿哈。他的username和password。啊,取出来。我看这怎么画哈,对,从这里边。取取这个。完了呢,还取这个他们仨。一起。封装到一起哈,封装成一个对象,这个对象呢叫做。呃,User对象。这个user呢是user detail的一个user detail是个接口,这是它的一个时间内封装到这个对象里边返回。哎,根据我们以前的这个,哎,咱们前面看的这个代码在这儿,我们应该做这么一个操作。这个操作呢,我们需要为这整个这一套做一些准备,也需要做一些调整。
04:04
做什么准备,做什么调整呢?需要做准备的这个地方啊。在我们user details里边呢,装配一下admin service。买装备service还是卖应该装备service哈。装配admin的service。除了这个,你要查角色,就得有角色的service。角色叫肉service。然后呢,还得装配一个。哎,权限的设备。哎,完了,这还还一个事儿呢,它也是service结尾的。
05:00
我们看一下我们什么是手掌啊?这个地方,我们这个地方。啊,我们这儿写成音了哈。那就是从这从我们当初一开始的时候就考虑到今天考虑到这个地方,跟他这会有些瓜葛,就当初就已经绕开了,那就没有这事了啊,那就还好。装备这几个得去查他,查他这是我们需要做的准备。另外还一个事儿呢。呃,的面里边除了除了这个账号,这应该是账号啊。账号。除了账号和密码。它还有还有别的,比如说username,比如说email create time这些东西,这个原本的user对象里边都没有。那么我们页面上想显示个啥就显示不出来。那么怎么办呢?呃,我们给这个优质对象呢,咱们去写一个类继承这个优质对象。就这就不这么干了哈。
06:02
呃,就是这个地方呢,也不这么干了。就所以这儿呢得调整一下,我们是这样把原始的din对象。哎,它就是原始的。这个对象啊。对,这应该这么写,应该把这个写在这哈。原始的对象。呃,这个对象和和这个grant authority,我们去给它封装到一个自定义的securityin这个对象里边啊,咱们去给它封装到这里面。哎,让这个security admin对象呀,去继承一下这个user。让他去继承userr啊。
07:01
这个。啊,他得去这有个继承。然后那返回呢,返回的就是它,哎,这个方法的返回值。返回就是他。哎,然后有了这个user details service呢。哎,把它放到给这个标这边去,给他那传进去啊,这是这个,嗯,这是这一部分。当然这边后边再往下一步还有这个密码加密的事,这个事情加密等一会儿再说啊。根据这个思路,我们这边要做的事儿还挺多。
我来说两句