00:00
下边呢,我们来看看这个ROM的方法如何来实现,那么上节课我们提到实际上传入方法这个参数呢,叫on token,它是谁呀?它是handle了,里边我们在叫log in方法的时候传的这个username passport token是吧?就是把这个参数传过来了,所以说我们第一步可以干什么呢?第一步,我们可以来干这样一件事。把这个类型的参数转换为username pass。总会差。我们可以来做一个强转。第二步,从这个中来获取username。第三步呢,调用数据库的方法,从数据库中查询username对应的用户记录。
01:04
第四步说,若用户。不存在,则则可以抛出什么,可以抛出异常对不对,抛出这个什么异常啊,抛出这个认证异常的一个子类哪个来着,叫unknown account exception,我们可以抛出这个异常。好。下一步根据用户信息的情况决定。是否需要抛出其他的这个异常?比方说这个用户被锁定了呀,哎,我们也可以抛出其他异常。
02:02
第六步。根据用户的情况来构建这个对象并返回。好了,这就是我们这块的几个步骤,下面的话呢,我们逐一来写一下,第一个我们来进行一个类型的强转,You nameme password。You nameme part token token。等于token进行一个强转获取用户名STEM的username等于。Up token.get user nameme这个username的话呢,实际上就是表单输入那个是吧,然后我进行查询,那我们这里边就不查询了哈,我们来做一些静态数据就不查询了,因为查询的话比较麻烦嘛。
03:00
呃,比方说我们这里边,我们可以获取用用信息sit out。从数据库中获取username。加有的name。Sure。对应的用户信息获取完,然后如果这个用户要是没有的话,我们可以抛出一个异常,我们举一个例子啊,安诺。点equals you name,如果是他的话,我们就抛一个异常。六安。No account exception。用户不。存在。好的,我们还可以抛出其他异常,比方说举个例子啊,比方说我们传入的是monster妖怪equals user name,抛一个其他的异场user name。
04:10
还有什么异常呢?泡一个。呃,我们看一看,比方说。被锁定了一长吧,Locked account exception。New lock exception说用户被锁定。用户被。锁定最后有一步的话呢,我们需要来创建这个ontication info,那它是谁呢?这实际上是一个接口,告诉大家最常用的时现类是它叫simpleation info。通常使用的时间内是它。通常使用的实现类为它构建一下吧。
05:02
Ation info info等于new simple info,大家注意到什么呀?它有一些构造器,我们先选择使用第三个。在我们下边,我们使用那个密码颜值加密的话,我们会来使用这个最复杂的,先来用它。好了。解不满说以下信息。是从数据。库中获取的啊,第一个参数。什么呀,叫。这个的话呢,是认证的实体信息。认证的实体信息可以是user name,也可以。是数据表。
06:01
对应的用户的实体类对象,比方说一个U的,那我们这个里边的话呢,我们就给它写,为什么呀,写为username就可以了。好了,第二个。Cre,这个是从数据表中来获取的密码,密码数据库里边获取的哈,那么我们来写吧,Object等于注意。密码写为123456,写好了。第三个。叫RO name。当前ROM对象的name调用父类的get name方法即可,方法即可。Room name等于get name。
07:00
把这个返回info OK,现在的话呢,这个项目就跑得通了,大家看哈,如果你说的是安unknown的话,会抛这么一个一场猫壳的话,会抛这么一个异常其他的。如果其他的用户名密码不是123456的话,他应该也不能够登录,如果密码是123456的话,他就可以登录成功,我们看一下是不是这个效果呢。走起。来,我们先来一个安诺。密码随便写啊,123456吧,123456会看见异常信息。看见了吧,用户不存在。123456走。用户被锁定看见了吗?其他的AA来123456,这个时候怎么了?
08:03
登不上,但是哎哟。啊AA密码密码输对了是吧,这个是可以登录,可以登录,那这个时候的话呢,我们看到这个list子什么呢?是不是可以访问了呀,那么对应的我们的什么呢?比方说U的点JSP也可以访问了,因为你现在不是已经经过认证了吗?刚才个密密码我输对了啊,我输了一个123456,那现在的话呢,我还想试一下,如果密码输错的话,会有效果吗?我们回退一下看看。AA,来,我随便写。走,我们发现。也过来了,但是呢,这里边这个日志都没有被打印,这个是因为利用了Co缓存的信息,我们想测试这个效果的话,先需要登出再登录,懂我的意思吗?就是说我现在这个登录我们发现什么呀,发现他根本就没走我这个。根本就没进来,进来的话,他会打印这样的一条消息,是不是,所以说我们先需要来搞一个登出。
09:04
这个灯初呢。List并不难搞哈,我来写一个。老哥。Out。Breath so log out。这个的话呢,哎,并不难写。怎么办呢?我们直接在我们这个配置文件里边加上这样的一个。过滤器就可以了,Lockout,这个lockout表示灯出的过滤器。Lockout。这重新加载啊。登出。好了,重启一下,再看效果,走起。
10:11
回来,诶,我们刷这个页面。怎么了,是不是不让我访问了呀,因为你没有进行认证,我们随便写随便写进不来的,看见了吗?这个时候登录失败了,没进来吗?好了,现在的话我来写,比方说我写成ABCD123456。进来是不OK了,进来了,那这个时候你也可以去访问优点JSP,我们再点logout,再随便写。12345啊,随便写啊随便写,我发现什么了,这个时候不能够进行登录了,来啊abcd。123456进来。
11:00
好的,我不点log,我回退,这个时候你发现你即便是随便写一个的话,你也能够进得来,因为它有缓存看到了吧,所以说测试的话呢,你得先进行一个。Logout。好的,诶,我们主要是实现了什么呀,主要是实现了这个RO是不是RO找到,哎,就是它,那具体实现步骤的话呢,就是这样的一个步骤哈,第一个需要做一个强转,然后的话呢,获用户名,然后利用这个用户名上数据库里边获取用户信息,注意用户名,而不需要用密码。然后根据用户信息的获取情况,我们决定是不是抛异常。然后呢,来构建这个simple info,这个里面需要传入从数据库里边获取这个密码,而那个密码的比对是由C给我们完成的,下节课的话呢,我们就来说这个密码的比对情况,嗯,还有一个细节,还有一个细节,在测试的时候我们需要干什么呀?我们需要先做一个灯出,如果你不做灯出的话,会用到C路的缓存,就是说这个时候你带灯出好它不好使。
12:09
听清了吧,哎,当初的话呢,就这样做。
我来说两句