musonic / sabre-accounts
SabreDAV 库的插件
dev-master
2013-04-25 13:00 UTC
Requires
- php: >=5.3.1
- ext-ctype: *
- ext-date: *
- ext-dom: *
- ext-iconv: *
- ext-libxml: *
- ext-mbstring: *
- ext-pcre: *
- ext-simplexml: *
- ext-spl: *
- sabre/dav: 1.8.*
- sabre/vobject: 2.0.*
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2024-09-23 11:32:45 UTC
README
SabreDAV 的账户插件,适用于 PHP 的 WebDAV 框架。此插件允许通过 HTTP 请求远程创建用户和主体。如果您不确定它们之间的区别,请查看以下链接: http://tools.ietf.org/html/rfc3744#section-2
要求
此插件需要 SabreDAV 版本 1.8 或更高版本。
假设您已经按照以下链接中的说明在数据库中设置了一个用户表:https://code.google.com/p/sabredav/wiki/CalDAV#Database_setup
安装
要安装此插件,请确保您已按照 composer 安装说明安装了 SabreDAV。要添加此插件,只需将以下行添加到您的 composer 文件中的 requires
部分
"musonic/sabre-accounts" : "dev-master"
添加后,只需运行 composer update
即可完成安装。
-
手动将一个 'super_user' 添加到您的用户表中。此用户是唯一有权向数据库中添加新用户的用户。
-
更新您的 server.php 文件(或您所命名的任何文件)
$accountsBackend = new \SabreAccounts\DAV\Accounts\Backend\PDO($pdo); $account = new \SabreAccounts\DAV\Accounts\Plugin($accountsBackend); $account->set_superuser('your_super_user'); $server->addPlugin($account);
使用方法
创建用户
该插件通过向服务器发送包含自定义头和一个非常简单的 JSON 体的 HTTP POST 请求来工作。请求必须包含以下内容
Content-Type
头为application/json
- JSON 格式的请求体,简单地包含要添加的用户名和以 digesta1 格式加密的密码。例如。
$body = json_encode(array('username'=>$username, 'digesta1'=>$password));
创建主体
- 更新您的 server.php 文件以使用正确的主体后端
$principalsBackend = new \SabreAccounts\DAVACL\PrincipalBackend\MusonicPDO( $pdo, $principalsTable, $groupMembersTableName );
- 更新您的文档树,使主体集合成为 SabreAccounts\CalDAV\Principal\MusonicCollection 的实例
- 要创建一个新的主体,您需要发送一个 MKCOL 请求。请求体可能如下所示
<?xml version="1.0" encoding="utf-8" ?> <D:mkcol xmlns:D="DAV:" xmlns:S="http://sabredav.org/ns"> <D:set> <D:prop> <D:resourcetype> <D:collection/> <D:principal/> </D:resourcetype> <D:displayname>Joe Bloggs</D:displayname> <S:email-address>joebloggs@example.com</S:email-address> </D:prop> </D:set> </D:mkcol>
请记住,您必须向您正在创建的主体发送请求。即 /principals/newprincipal,而不是只发送到 /principals/