站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > Apache HTTP Server Version 2.2 中文文档

mod_authn_dbd - Apache HTTP Server Version 2.2 中文文档





top

配置示例

下面这个简单的示例展示了如何在基于DBD框架的认证环境中使用该模块。

#数据库管理

#使用PostgreSQL驱动程序
DBDriver pgsql

#连接字符串:数据库名 用户名 密码
DBDParams "dbname=htpasswd user=apache password=xxxxxx"

#管理连接池的参数
DBDMin  1
DBDKeep 2
DBDMax  10
DBDExptime 60

#认证部分
<Directory /usr/www/myhost/private>

    #基于authn_dbd的认证配置
    AuthType Basic
    AuthName "My Server"
    AuthBasicProvider dbd

    #授权配置
    Require valid-user

    #验证用户的SQL查询语句
    #(注意:DBD驱动程序同时允许stdio风格的 %s 和特定于数据库的语法)
    AuthDBDUserPWQuery "select password from authn where username = %s"
</Directory>
top

AuthDBDUserPWQuery 指令

说明检索用户密码的SQL查询语句
语法AuthDBDUserPWQuery query
作用域directory
覆盖项AuthConfig
状态扩展(E)
模块mod_authn_dbd

AuthDBDUserPWQuery指定了从数据库中检索用户密码的SQL查询语句。该查询语句必须接受一个单独的字符串(通常是SQL里的varchar类型)参数(username),同时返回一个单独的字符串值(hash过的密码)。

AuthDBDUserPWQuery "SELECT password FROM authn WHERE username = %s"

top

AuthDBDUserRealmQuery 指令

说明为用户名与认证区域的组合检索密码的SQL查询语句
语法AuthDBDUserRealmQuery query
作用域directory
覆盖项AuthConfig
状态扩展(E)
模块mod_authn_dbd

AuthDBDUserRealmPWQuery指定了从数据库中检索一个用户名与认证区域的组合的密码的SQL查询语句。该查询语句必须接受两个单独的字符串(通常是SQL里的varchar类型)参数(username, realm),同时返回一个单独的字符串值(hash过的密码)。

AuthDBDUserRealmPWQuery "SELECT password FROM authn WHERE username = %s AND realm = %s"