00:00
下边呢,我们来说一下C洲的认证,所谓认证,说白了就是登陆。那么如何来做C的认证呢?我们首先来看一下,我们在讲hello word的时候这个程序,我们还记得这个程序里边有那个认证吧,我们首先把这个过程大致的看一下,然后翻,我们看第一步呢,实际上先需要来获取当前的subject,看到了吧。然后。我们需要来判定当前的subject是不是已经被认证了,说白了,是不是已经登录了,如果没登录的话,需要来创建一个user nameme password token对象。创建这个对象的时候呢,需要传入username跟password。下一步,我们需要来调用subject login方法执行登录。OK。从hello word里边看的这个代码就这么多。后边呢,我们注意到这块,我去执行这个login方法,传入这个username passport token这个里边这个用户名和密码应该是我们从前端获取的吧,比方说表单一点提交有个用户名的密码,那么后边怎么办?后边我肯定还需要去获取数据库里边对应的记录吧,然后的话呢,去比那个密码对不对是吧?那么如何从数据库里边来获取对应的记录呢?
01:24
呃,这里边儿没有给出。我们还记得我们前面讲那个架构的时候,咱说过,如果需要访问Co的安全数据的话,需要用什么呀?需要用这个ROM是不是,所以说下一步就是使用这个RO。获取数据表里边对应的记录。最后一步去比密码,比密码呢是由C帮我们完成的,后边我们会通过看源代码的方式去看如何去比那个比的那个密码,好吧,基本流程就是这样,下面的话呢,我们来写一个这个笔记啊,把这个流程再捋一遍。
02:07
DB。先需要来获取当前的subject。第二步。我们需要来校验当前这个subject是不是已经被认证了,说白了就是是不是已经登录了,对吧。这是第二步,应该是什么呀,叫调用。第三步。若没有被认证,则。就干什么把用户名和密码封装为username pass token对象。
03:03
好了,这里边呢,实际上是有一些小问题,什么问题啊,对于我们这个BS的项目,那么我们如何去获取这个用户名和密码呢?那这里边儿我们来写一下哈,实际上在这个之前先需要干什么呀,创建一个。表单。页面是吧,那用户名跟密码一定是从表单页面获取的,然后点击提交,提到哪呢把请求。把请求提交到。Spring mvc的。这什么呀?然后呢,来获取用户名和密码,那实际上我们第一步第二步第三步这个代码都是在handle里边完成的吧,好了。
04:02
在下边第四步,第四步我们即将来调用这个方法叫执行登录。调用什么方法呀,调用。Subject的login方法是不是?调用这个方法来。执行登录传的这个对象是什么呢?是一个UN con,大家注意到啊,这是一个接口。那么说明什么?说明这个user name pass token应该是我们这个。的一个实现类对吧。第五步,那对于我们而言,我们需要去自定义room。
05:00
的方法,然后呢,从数据库中获取对应的记录。能怎么样返回给C罗?第六步。返回给C,哦,这块我们需要注意一下,那我们到底如何来创建这个自定义的room呢?如何来创建这个自定义的ROM呢?我们实际上这里边儿我们干什么,我们是不是。呃,写过这样的一个RO啊,CTRLT,这个RO实际上是一个接口,我们真正用的是谁呢?真正用的是它,那如果仅是认证的话,用这个也可以。这个里边有一个抽象方法。我们看下那方法叫啥哈,我打开大纲。Outline。最后一个方法,这方法实际实际上就是这个方法。
06:02
Copy。哦,我们先说这个类是吧。继承这个类实现这个方法就可以了。是用哪个方法呢?是用那个方法。好同学会问是吧,老师为什么是去,嗯,实现这个类去实现这个方法呢,一会的话呢,我们用源码的方式去走一下好吧。好。最后一步,由zero。完成。对密码的比对,OK,这就是我们整个的流程,那下边的话呢,有一个小问题是吧,大家可能会问,诶,为什么需要去继承这个类去实现这个方法呢?我们现在的话呢,通过源码看一下,我们在这个quick start里边往后走吧,Login往后走大家看啊,这块其实很有意思,大家看。
07:13
在这个里面我们调的是subject login方法,咱讲过说这应用程序里边啊。我们针对的那个类都是subject,它是个门面嘛,是吧,点进来。后边的boss是谁啊?是security manager,我们看看是不是这样啊,关联源代码就这个call,我们去关联一下。对,就是。重新来,再点进来大家看,诶,Log方法真正的大boss那个核心叫security manager,我们会调他的log方法。这点进来直接点那个实现啊。然后的话呢,执行认证再点。大家看。
08:00
是不是看见那个认证器了,叫alator,再点。第一个是。抽象的好了,这里边的话呢,掉了这个do on的方法再点进来。好,我们看到这个时候他需要去获取一个或者是多个的room,目前我们用的是单个room,所以说点进来。好,我们看到我们调用了long的什么方法呀,叫go get on vacation in for方法,再点OK,那这个里边的话呢,叫什么叫do get on info,传了一个talking,我们看下这个方法啊。注意一下这个方法,这个方法实际上就是这个方法,而这个类。嗯。而而这个类,而这个方法所在的类,实际上我们往上翻一下就是什么呀,就是我们讲的这个抽象类,就是我的笔记里面写的那个好了,那后边呢,再往下大家看是不是具体实现了。
09:02
所以说我们在做的时候的话呢,我们如果要是仅实现认证的话,也没说授权哈,我们需要去继承这个类来实现这个方法,OK,以上就是我们实现C周认证的全过程,有这样的几个步骤。下节课的话呢,我们将。逐一的进行实现。
我来说两句