<-
Apache HTTP 服务器 2.4 > Apache模块mod_authn_dbd

Apache模块mod_authn_dbd

描述:使用SQL数据库的用户身份验证
状态:延期
模块标识符:authn_dbd_module
源文件:mod_authn_dbd.c
兼容性:在Apache 2.1和更高版本中可用

摘要

此模块提供身份验证前端,例如 mod_auth_digestmod_auth_basic ,通过在SQL表中查找用户来对用户进行身份验证。例如,可以提供类似的功能 mod_authn_file

该模块依赖于mod_dbd指定后端数据库驱动程序和连接参数,并管理数据库连接。

使用mod_auth_basic或时 mod_auth_digest,将通过AuthBasicProviderAuthDigestProvider 使用dbd值调用此模块 。

支持Apache!

主题

指令

错误修正清单

也可以看看

最佳

性能和缓存

HTTPD 2.2 / 2.4中的一些DBD身份验证用户报告说,这对数据库造成了问题。在HTML页面包含数百个对象(例如,图像,脚本等)的每个对象中,每个对象都需要身份验证,这很有可能。受此类问题影响(或与之相关)的用户应使用mod_authn_socache 缓存凭据并减轻数据库的大部分负担。

最佳

配置实例

这个简单的示例说明了如何在Authentication和DBD框架的上下文中使用此模块。

# mod_dbd configuration
# UPDATED to include authentication caching
DBDriver pgsql
DBDParams "dbname=apacheauth user=apache password=xxxxxx"

DBDMin  4
DBDKeep 8
DBDMax  20
DBDExptime 300

<Directory "/usr/www/myhost/private">
  # mod_authn_core and mod_auth_basic configuration
  # for mod_authn_dbd
  AuthType Basic
  AuthName "My Server"

  # To cache credentials, put socache ahead of dbd here
  AuthBasicProvider socache dbd

  # Also required for caching: tell the cache to cache dbd lookups!
  AuthnCacheProvideFor dbd
  AuthnCacheContext my-server

  # mod_authz_core configuration
  Require valid-user

  # mod_authn_dbd SQL query to authenticate a user
  AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"
</Directory>
最佳

公开登录信息

如果httpd是针对APR 1.3.0或更高版本构建的,则每当对数据库服务器进行查询时,使用带有前缀“ AUTHENTICATE_”的环境变量,将查询返回的第一行中的所有列值都放在环境中。 。

例如,如果数据库查询返回了用户名,用户的全名和电话号码,则C​​GI程序将可以访问此信息,而无需进行第二次独立的数据库查询来收集此附加信息。

这有可能极大简化某些Web应用程序中所需的编码和配置。

最佳

AuthDBDUserPWQuery 指令

描述:SQL查询以查找用户密码
句法:AuthDBDUserPWQuery query
内容:目录
状态:延期
模块:mod_authn_dbd

AuthDBDUserPWQuery指定的SQL查询来查找密码指定用户。执行SQL查询时,用户ID将作为单个字符串参数传递。可以使用%s格式说明符在查询语句中引用它。

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

查询语句返回的第一行的第一列值应该是包含加密密码的字符串。随后的行将被忽略。如果未返回任何行,则不会通过验证用户mod_authn_dbd

如果httpd是针对APR 1.3.0或更高版本构建的,则查询语句返回的第一行中的任何其他列值都将作为环境变量存储,格式为。 AUTHENTICATE_COLUMN

加密的密码格式取决于所使用的身份验证前端(例如mod_auth_basicmod_auth_digest)。有关更多信息,请参见密码格式

最佳

AuthDBDUserRealmQuery 指令

描述:SQL查询以查找用户和领域的密码哈希。
句法:AuthDBDUserRealmQuery query
内容:目录
状态:延期
模块:mod_authn_dbd

用于AuthDBDUserRealmQuery指定一个SQL查询,以在摘要身份验证过程中查找指定用户和领域的密码。当执行SQL查询时,将按此顺序将用户ID和领域作为字符串参数传递。可以使用%s格式说明符在查询语句中引用它们。

AuthDBDUserRealmQuery "SELECT password FROM authn WHERE user = %s AND realm = %s"

查询语句返回的第一行的第一列值应该是包含加密密码的字符串。随后的行将被忽略。如果未返回任何行,则不会通过验证用户mod_authn_dbd

如果httpd是针对APR 1.3.0或更高版本构建的,则查询语句返回的第一行中的任何其他列值都将作为环境变量存储,格式为。 AUTHENTICATE_COLUMN

加密的密码格式取决于所使用的身份验证前端(例如mod_auth_basicmod_auth_digest)。有关更多信息,请参见密码格式

可用语言: zh  |  fr 

最佳

注释

注意:
这不是“问答”部分。此处放置的评论应指向有关改进文档或服务器的建议,如果实施或被认为无效/偏离主题,我们的主持人可以将其删除。有关如何管理Apache HTTP Server的问题,应直接指向我们的IRC频道#httpd(位于Freenode上),或发送至我们的邮件列表
目前,此页面已禁用评论。