用户请求登录的时候,请求里应该带着用户名还有密码,后端服务应该检查用户是否存在,如果存在,再去检查密码是否匹配 .. 如果匹配就可以让用户登录 ..
下面去创建一个处理用户登录用的接口 .. router.post .. 接口地址是 user-login .. 给它一个回调 .. 里面有 req 还有 res ..
在方法里面先从请求里面把 username .. 还有 password 这两个数据解构出来 ... 它们应该是在 req 里的 body 属性里面 ..
添加一个 user .. 用一下之前定义的 getUserByName .. 把用户名交给这个函数 ..
下面判断一下 .. 如果没有找到用户 .. 做出一个响应 .. 用 status 设置响应的状态码 .. 可以设置成 404 .. jsonp .. 用户名不存在。
响应以后直接 return ..
如果用户存在,可以检查用户密码是否匹配 .. 用一下 bcrypt 上的 compare .. 检查的是请求里的 password .. 对比的是 user 的 password ..
接着用一个 then .. 检查的结果叫 result .. 里面可以判断一下 .. 如果 result,意思就是如果密码匹配 .. 响应一个 登录成功。
如果密码不匹配 .. 也要做出一个回应 .. 用 stauts 把状态码设置成 401,表示未授权 .. 再用 jsonp .. 设置一下响应的内容 .. 密码不匹配 ..
在 http 客户端可以去试一下这个登录接口 ..
接口的地址是 user-login .. 方法是 post .. 请求里要带着主体数据 ..里面需要 username 还有 password ..
如果请求里的密码,跟应用里的用户的密码匹配 .. 就会得到 200 的响应 .. 提示 登录成功 ..
再试一下,输入一个错误的密码 .. 这回响应的状态码是 401,文字是 密码不匹配!
可以再输入一个不存在的用户 .. 发送请求 .. 会提示 ... 用户名不存在 ..