PEAR::Auth 使用 PEAR::DB 抽象层访问数据库。这意味着你可以使用所有DB抽象层支持的数据库来存放登录数据。
Auth constructor() 中数据存储类型的详细参数(The storage-specific argument)是一个数组 。
表格 21-1. 数组关键字和值
| 关键字 | 描述 | 默认值 |
|---|---|---|
| "dsn" | 一个有效和良好的形式 DSN . | "" |
| "table" | 数据库表的名称,这里存储了验证数据. | "auth" |
| "usernamecol" | 存放用户的列的名称。 | "username" |
| "passwordcol" | 存放MD5编码的密码的列的名称,请确定密码的字段最多只能存放32个字符。 | "password" |
这个贮藏容器为验证SAMBA smbpasswd文件做好准备. Auth constructor() 中数据存储类型的详细参数是 SAMBA passwd-style 文件的文件名。
这个贮藏容器连接指定的IMAP服务器并且尝试使用指定的用户名密码登录 .
Auth constructor() 中数据存储类型的详细参数是一个数组。
表 21-2. 数据的关键字和值
| 关键字 | 描述 | 默认值 |
|---|---|---|
| "host" | IMAP服务器的主机名或者IP地址 | "localhost" |
| "port" | IMAP服务器的端口 | "143" |
Auth constructor() 中数据存储类型的详细参数是一个数组。
表 21-3. 数组的关键字和值
| 关键字 | 描述 | 默认值 |
|---|---|---|
| "host" | 访问的主机名或者IP地址 | "localhost" |
| "port" | 访问LDAP服务器的端口 | "389" |
| "basedn" | 基础著名的( distinguished )名字 | "o=netsols,c=de" |
| "userattr" | 定义请求的属性 | "uid" |
这个贮藏容器连接到指定的POP3服务器并且尝试用指定的用户名密码登录.
Auth constructor() 中数据存储类型的详细参数是一个字符串,它的形式是 server:port 或者 server.
你需要Auth_RADIUS和PECL radius才能使这个容器工作
Auth constructor() 中数据存储类型的详细参数是一个数组。
表 21-4. 数组的关键字和值
| 关键字 | 描述 | 默认值 |
|---|---|---|
| "servers" |
RADIUS服务器的数组,包括: host, port, shared secret, timeout, maxtries. 参数host指定服务器主机,也可以是完整的有效域名或者文本形式的 由...连接的四个小于255的数字代表的.参数port指定连接服务器的UDP端口。如果port赋予0,库将会查询在网络服务数据库中radius/udp的入口,并使用查询到的端口。如果没有找到入口,库会使用标准验证的RADIUS 端口(1812)。 The shared secret for the server host is passed to the secret parameter. RADIUS协议忽略The RADIUS protocol ignores all but the leading 128 bytes of the shared secret. 接受服务器回复的时间限制通过参数timeout指定,单位是秒。 重复请求的最大次数通过参数maxtries设置。 服务器至多指定为10。当给定多个服务器是,他们会以循环的形式进行尝试直到接受到有效的响应,或者直到服务器的最大尝试次数。 | array("localhost", 0, "testing123", 3, 3) |
| "authtype" |
确认请求的验证方法。可能值有: PAP, CHAP_MD5, MSCHAPv1, MSCHAPv2. 他们依赖于不同的方法。对于所有的验证方法除了PAP,你需要Crypt_CHAP包,当你使用MS-CHAP你还需要mhash 扩展(extension)。 | "PAP" |
Auth constructor() 中数据存储类型的详细参数是一个数组。
表 21-5. 数组的关键字和值
| 关键字 | 描述 | 默认值 |
|---|---|---|
| "endpoint" | 服务定位的URI。 | |
| "namespace" | web服务的命名空间 | |
| "method" | 你想要调用的SOAP方法。 | |
| "encoding" | 所使用的内容编码 (e.g. utf8). | |
| "usernamefield" | 用户名存放的字段名。 | |
| "passwordfield" | 密码存放的字段名。 |
使用你自己的贮藏容器的例子
这是一个自定义Auth贮藏容器的框架。
例子 21-1. CustomAuthContainer.php
|
这里是如何使用它。
例子 21-2. authcustom.php
|