身份验证与安全:从密码存储到个性化订阅源的实现
1. 安全存储密码
在存储用户密码时,使用 Ruby 的 rand 方法生成随机数并不安全,因为这些随机数基于系统时钟,并非真正的随机数,容易被破解。为了保护盐值免受暴力攻击,我们选择使用 OpenSSL 库来生成加密安全的随机数。
同时,为避免将用户密码以明文形式写入日志文件,可在处理身份验证的控制器中添加以下代码:
class UsersController < ApplicationController
filter_parameter_logging :password
...
end
这段代码会将名称包含 “password” 的参数值替换为 [FILTERED] 。
2. LDAP 身份验证
LDAP 是一种用于与人员、组或资源的分层集合进行交互的开放标准。常见的开源 LDAP 服务器有 OpenLDAP 和 Fedora Directory Server (FDS),商业产品包括 Sun 的 Java System Directory 和 Novell 的 eDirectory。LDAP 服务器适合存储人员信息和安全凭证,常用于身份验证。
2.1 问题与解决方案
问题:需要对 LDAP 服务器进行用户身份验证。
解决方案:可以使用 Ruby LDAP 库,如 ruby-net-ldap gem 来验证用户名/密码对。以下是一个
超级会员免费看
订阅专栏 解锁全文
1282

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



