我想做这里描述的事情,但是使用 Drupal 7。
在版本 7 之前,密码作为 md5 哈希值保存在数据库中,因此您可以使用Auth_MySQL
.
在这个例子中,我试图gitweb
只允许有效的 drupal 用户访问:
文件:/etc/apache2/sites-enabled/default-ssl
<Directory /usr/share/gitweb>
AuthName "site name"
AuthType Basic
Auth_MySQL On
Auth_MySQL_Authoritative on
Auth_MySQL_Host localhost
Auth_MySQL_Username drupal_user
Auth_MySQL_Password drupal_password
Auth_MySQL_DB drupal_database
Auth_MySQL_Password_Table users
Auth_MySQL_Username_Field name
Auth_MySQL_Password_Field pass
Auth_MySQL_Encryption_Types PHP_MD5
Auth_MySQL_Password_Clause " AND status=1"
Auth_MySQL_Empty_Passwords Off
AuthBasicAuthoritative Off
AuthUserFile /dev/null
require valid-user
</Directory>
查看数据库,select name,pass from users;
密码哈希是这样的:$S$DSmryVGZQg2AsLOFBT68xoQaEqPA1TWe4gi2gezh93tAjrbskFUi
因为它们是“盐渍的”,而不是像旧版 drupal 中的经典 md5 哈希?
user_check_password($password, $account)
我知道可以使用函数=>api检查密码是否与散列密码匹配。
如何让 Apache 使用 Drupal 7 用户/密码作为身份验证系统?