00:00
完成修改密码的功能。首先创建一个控制器。修改密码啊,我们认为是和认证相关的。功能,所以放到里面。创建成功。在这个。里面创建了一个password controller。这里来写我们的代码。啊,对吧。修改密码。
01:01
写一下路由。也是放到里面。当然修改密码是需要登录的,所以放在这里。直接使用这个啊,他需要post啊。Password update请求这个UI。Password controller。里面的这个方法。先来请求一下。打开这个。使用post方式。啊,请求。小于also前缀。啊,能返回啊,只不过是没有任何内容。接下来去写。
02:01
代码要修改密码,我们首先要啊,验证他提交的参数对不对,而且还要验证它的旧密码。是不是正确才能让他修改密码。把表单验证直接写到这里面。第一个啊是写验证规则,第二个是写题。错误的一个消息。验证一个哦的。他是我的子弹。必填就可以了啊。Password。
03:05
当然还要验证,嗯,他的。确认密码,这个其实我们直接参考。注册的时候那个验证就可以。来找一下。Request also。去这么去验证密码。就可以啊,要加一个这个东西。嗯,他要有个确认密码,并且和这个密码保持一致。我们把旧密码的这个验证也加上。啊,消息的话那就不用写了。啊,我们这个消息。啊,写了name这个我们就不用写了。不用写提醒消息了,好。这个不清楚的话,可以去手册里面去看一下啊。表单验证里面。就是说一旦我们加上这个验证规则,你就要提供一个这样的一个字段。
04:06
是什么,这个名字是我们啊验证的这个名字,验证的这个字段名字啊,你要提供一个这个字段,并且他俩字段啊必须。啊,相等。来测试一下。它不能为空是不是。好,这个是我们新加的啊,所以啊还是要写一下,其实上线。因为这个它能自动给我们翻译,这个翻译不了。啊,Old点快。旧密码。不能为空啊。啊。把这两个。长度啊,也比线在什么。最少。
05:03
六个字符。最多。16个字符。行。现在就能翻译了啊,咱们也可以加上空格。接下来我们来修改一下。把这个换了。要有一个O他的字段。还有一个password字段对吧。然后。你这么去提交的话,他会告诉你。这个密码长度不够啊,会告诉你确认密码啊,就是两次密码是不是不一致,那我们要有个什么呢。Password。Formation。
06:00
啊。应该是这样写的。是的。好,接着来提示123456,让它一致。就不提示了,对吧,验证就通过了。好,接下来就可以去写我们自己的一个验证的一个逻辑,比如说验证旧密码。是否正确?旧密码是否正确,也就是说拿他输入的这个旧密码和我们用户现在已有的这个密码做匹配,做对比,是不是。如果不正确,我们直接返回错误消息啊,If。可以使用password。啊,这个快速去验证用户的密码哈,接受两个参数,一个是你要验证的密码,第二个是密码的一个哈希,哈希纸啊,也就是我们现在用户的一个密码的。一个存在这个哈希纸,因为我们数据库用户存的就是加了盐以后的一个密码。
07:04
啊,就是哈希加密以后,而且还加了盐的一个密码。来看一看。啊,就是这样的是吧,所以这个辅助函数接收啊,两个参数,一个是你要验证的密码,也就是request里面的。OLDPAROLD对吧?那和谁做对比呢?和。嗯,Also,当前登录用户的。User。里面的。Password。啊,和它做对比。行了吧,好,比较长的话,我们可以把它给嗯赋予变量来进行判断O的。等于这块,然后user等于。
08:02
这个。好,那我们就拿旧密码和这个是铭文密码和用户的密文密码进行做对比。如果不正确,哎,我们就返回。对吧,加个法不正确,Return。要想使用生成器,就是丁格API的响应生成器,这里要集成base controller。Response。Error,这个是权限,应该挨request。旧密码。正确。好,来看一下。是不是给我们拦截了旧密码不对。是不是我们密码应该是123123。
09:00
这是验证通过的情况下,是不是就继续往下走了。使用这个可以辅助函数去验证用户密码也可以,当然还可以使用哈希的啊,门面去还有一个方法去进行验证啊。这里我们就用啊这个passwor这个区间证,接下来就是更新用户的密码了,这里是不是已经拿到用户的模型了,拿到他实力了,直接去修改它的password字段就可以啊。等于。嗯,Request里面。我们传的这个password啊,当然这是一个铭文的,我们要存密文的,所以用。比赛RPD加密一下,最后C5下。就完成了密码的保存啊,写错了。
10:00
返回。一个没有内容的响应啊。Response。哎,这个就修改成功了,哎,我们修改密码就写完了,来测试一下。现在密码是对的,我把它修改成六个一。204啊修改成功,那现在我再拿登录去,就是拿这个123123去登录。就认证不通过了,是不是密码就不对了,然后拿六个一就可以。是不是登录成功了。对吧。好,再给它修改回来。啊,如果现在我去输的话。哎,旧密码不对啊,旧密码是六个一。把它修改成123。这样就是修改密码的功能就。
11:00
完成了。
我来说两句