【发布时间】:2012-11-13 10:41:31
【问题描述】:
我想做what is described here,但使用 Drupal 7。
在第 7 版之前,密码作为 md5 哈希值保存在数据库中,因此您可以使用 Auth_MySQL。
在此示例中,我试图仅允许有效的 drupal 用户访问 gitweb:
文件:/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 用户/密码作为认证系统?
【问题讨论】:
标签: php mysql apache drupal drupal-7