00:00
下边呢,我们接着来讨论密码加密这个问题,我们把前面讲的这个问题我们捋一捋哈,最开始的时候啊,数据库里边我们放的这个密码是密码的铭文,比方说123456,这样不安全嘛,对吧,所以说我们搞了一个密码的M第五加密,就是加密之后这个字符串啊,是很长的一个字符串,而且这个加密说法是不可逆的啊,安全一点。我们觉得还不好,我们又搞了一个MD5颜值加密啊,这个数总可以了吧?但实际上在某些特定的场合,我们可能会把这个安全数据放在不同的数据库里边,比方说,呃,买circle口里边有,Or口里边也有,那买circle口里边那个加密算法的话呢,可能是MD5,而or口里边那个加密算法的话呢,是SHA1。那这个时候的话,我们进行用户认证的话,我们就需要同时访问这两个数据库,我们就需要多个room,如果有多个room的话,还涉及到认证策略的问题,那么这节课还有下节课我们讲的问题就是多RO跟验证策略。
01:06
我们首先看一下这个多RO的话怎么来搞,那实际上的话呢,我们首先看这个quick start的这个代码,我们在前面翻源码的时候啊,我们看到了有多个RO,大致上的是怎么一回事,我们来看这个看哪个看这个呃,Login走起。Login。郑帆。再来。这个是对吧。好再来好了,诶我们到这块到这块的话呢,我们发现一个什么问题啊,实际上的话呢,它获取这个get rooms,这是一个集合,如果这个RO只有一个的话,我们找的是这个方法,有多个的话,我们找的是269行这个方法大家看到了吧?诶这就是我们所谓的这个多RO验证,所以说我们可以配置多个room给谁呢?哎,就给我们。
02:04
就给我们什么呀,就给我们这个。病。这个病叫。找module。Real on给他就可以了,那这个我们需要配置为单独的一个bin,然后把这个bin配置给谁呀?配置给我,配置给我们的security manager能想到吧,OK,现在的话呢,我们就来搞这个do RO,那我们把这个RO的话呢,给它复制一份,取个名字叫second room。搞定,搞定之后的话呢,这边我来写一句话,Second。RO这个方法叫他。写好写好之后的话呢,我们这个second room这个密码加密啊,我们使用成这个shae,于是的话呢,过来hae好走起优德的密码。
03:12
过来放到这个位置,再改成in。这时起。饿,那个密码的话呢,叫他。好了这个ROM呢,就写好了,下面的话呢,我需要把这个ROM配置到IOC容器里面。过来配置room,我把这个room给它复制一份,CTRLCCTRLV,这应该叫什么呀?叫second。Second room,好了,这个算法的话应该改成ae搞定,这两个room我们需要配置为一个。
04:04
这里边我们配置为什么配置为这样的一个叫认证器,对吧,过来新建一个b plus。Ad还有一个属性叫叫什么叫ROS,我们看一眼哈,这个ROS实际上的话呢,注入一个集合就可以了,于是的话呢,我们给它搞成一个list。List啊,里边第一个叫B,我指向GDB1种。第二个我指向second room OK diator,我们可以配置为当前security manager的什么属性啊的的onator属性referenceator OK,这样这个流程的话呢,就配好了,配好的话呢,我们需要来打几个断点,看一下实际上这个运行的效果。
05:13
我们把这个思路我们再理一理哈,目前我为security manager配置了两个room,通过谁配的呀,通过这个al来配两个room,于是的话呢,呃,第一个room我们这块我们需要来写一个跟这个类似的一个标记代码。CTRLC过来CTRLV哟,没复制上。Copy。这个呢,我们写first OK。这是第一处,于是的话呢,在页面上就会打印这样的两行代码,这是第一处,第二处我们还有一个位置,我们从handle login我们走起。
06:02
老。走。郑后翻。最后一个了吧,是吧,哎,这块的话呢,会有一个多RO这样的一个效果,我们来在二百六十五行加上一个断点,然后的话呢,在密码匹配的时候,是不是还有一个位置我们可以看呢,一个匹配器叫什么叫,嗯,往后翻叫啊都叫什么呀,这不都叫哈希的呀,我点开密码的匹配方式,我点应该是有一个。呃,密码的匹配方式,OK,不在这个里面,不在这里面的话呢,这时候怎么办呢,我直接把这个呃断点打到。User nameme password token里边吧,打到这个里面,我来让这个get password这块这个点加上这个时候它需要停两处,我们会看到两个不同的凭证匹配器,对吧,OK。
07:14
走起来看运行的效果。Login好了,IN123456走。先看几个room呢,哎,多个room是吧?过来好了,这是first room被调用了,然后的话呢,呃,Get password往前翻,这个时候这个密码的匹配方式再往前来应该是谁呀?是那个叫哈希的,注意是MD5再走,打了这个second,我们再往前翻看密码的匹配方式应该是什么?应该是SHA1过,OK,这个时候的话呢,这个多ROM验证这个效果就实现完了,两个RO,其中这两个RO他们是有顺序的,为什么有顺序啊,因为我们在配置的时候,我们这块我们用的是不是list呀。
08:21
是不是list,这个list就是有先后顺序嘛,那这个先这个后。那下边我们要说的应该是什么呀?应该是这个叫呃,认证的策略,你有两个任务,那怎么样才算是认证通过呢?诶这个是我们下节说的内容。
我来说两句