为 EmojiJournalServer 和 EmojiJournalMobileApp 添加认证功能
1. 现状与问题
EmojiJournalServer 目前已为客户端提供了 RESTful API,能将数据存储到持久化数据库,并且具备重启后的可扩展性和恢复能力。然而,当前它只能供单个用户有效使用,因为无法将单个日记条目与特定用户关联起来,也没有使用认证来控制每个用户可以访问和修改哪些条目。
2. 认证的概念
认证和授权用于识别和检查系统用户的访问权限。用户首先通过检查其凭据是否与数据存储或数据认证服务器中的凭据匹配来进行身份验证。一旦通过认证,就可以检查用户是否有权限访问特定资源以及访问的权限级别。目前,EmojiJournalServer 尚未启用任何认证或授权功能,这意味着任何用户都可以连接并创建、获取和删除日记条目。
3. 认证类型
服务器应用程序可以通过多种方式处理认证。常见的认证类型如下:
| 认证类型 | 描述 | 优缺点 |
| ---- | ---- | ---- |
| HTTP 基本认证 | 客户端在每个 HTTP 请求的 Authorization 头中以 Base64 编码值的形式传输用户名和密码,服务器通过检查客户端的用户名和密码是否与服务器端的版本匹配来验证请求。 | 优点:简单易用;缺点:安全性较弱,因为用户名和密码仅进行了 Base64 编码,容易受到中间人攻击。 |
| HTTP 摘要认证 | 是基本认证的扩展,使用密码的 MD5 哈希值传输密码详细信息。哈希是单向的,很难从哈希值还原出原始密码。认证过程更复杂,服务器会提供随机值 nonce 和 “r
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



