Table of Contents
官方文档页
认证与授权
- 认证(Authentication) 确认谁是谁;
- 授权(Authorization) 准许某人干什么
enable相关模块和指令
需要从以下三组中每组至少打开一个模块:
- 认证类型
- mod_auth_basic
- mod_auth_digest
- Authentication Provider
- mod_authn_anon
- mod_authn_dbd
- mod_authn_dbm
- mod_authn_file
- mod_authnz_ldap
- mod_authn_socache
- 授权
- mod_authnz_ldap
- mod_authz_dbd
- mod_authz_dbm
- mod_authz_groupfile
- mod_authz_host
- mod_authz_owner
- mod_authz_user
- Authorization
除了这些模块,还有 mod_authn_core和mod_authz_core模块,这两个模块实现了上面模块的核心指令。所以为了简单,需要认证服务就使用authn_core,需要授权服务就使用authz_core,如果两个都需要就都使用。
如果想要数据真正安全,那么除了认证之外最好加上使用SSL。
如果是通过 .htaccess 文件来控制指定文件/文件夹的访问权限的话,那么需要在服务器配置文件里加上下面这句
AllowOverride AuthConfig
这样就可以在个*.htaccess*文件里填写不同的内容达到不同的控制效果了。
添加通过密码认证服务的基本过程
首先需要一个存储密码的文件,不要和网页放在同一目录,以免别人下载密码文件。然后工具htpasswd向该密码文件添加用户名和密码即可。
htpasswd -c <passwd-file> username
然后在对应的*.htaccess文件或者服务器的配置文件里相应的<Directory “/path/to/your/directory”>*段里加上如下的配置语句:
AuthType Basic
AuthName "Restricted Files"
# {Following line optional}
AuthBasicProvider file
AuthUserFile "/usr/local/apache/passwd/passwords"
Require user rbowen
file是AuthBasicProvider的默认值,所以该行其实是多余的。
文档中的剩余内容
对于我来说暂时不需要,有空再来研究:)。
近期评论