本篇實現F7功能(見紅色部分)
功能序號 | HTTP謂詞(HTTP verbs) | API | 描述 |
F1 | GET | /api/users |
管理員獲取用戶列表 |
F2 | POST | /api/users |
管理員添加用戶 |
F3 | PATCH | /api/users/{id}/role | 管理員修改用戶角色 |
F4 | PATCH | /api/users/{id}/state | 管理員鎖定/解鎖用戶 |
F5 | GET | /api/users/{id} | 用戶獲取自己的信息 |
F6 | PUT | /api/users/{id} | 用戶更新自己的信息 |
F7 | PATCH | /api/users/{id} |
用戶修改密碼 |
代碼如下:
1 [HttpPatch] 2 [Route("{id}/password")] 3 public ContentResult ModifyPassword(int id) 4 { 5 string oldPwd = Request.Form["oldPwd"]; 6 string newPwd = Request.Form["newPwd"]; 7 _userDao.UpdatePassword(id, oldPwd, newPwd); 8 9 return Content("{'result':'success!'}"); 10 }
在具體的項目中,新增用戶的時候一般會用MD5對密碼進行加密后再保存到數據庫中,
以防止明文密碼被泄露,當用戶修改密碼的時候,先對用戶輸入的舊密碼做MD5加密,
然后結合userid做條件查詢判斷輸入的舊密碼是否正確,如果正確才做修改的動作,否則給出舊密碼不正確的提示。
附:數據的加密解密
數據的加密解密算法有MD5、DES、RSA等很多種,分別用在不同的場合,其分類見下表,供參考: