SabreDav身份验证失败

时间:2015-08-12 12:51:02

标签: mysql authentication sabredav

我开始在本地环境中使用SabreDav创建自己的测试服务器,并且一切正常。

现在,我正在尝试将配置迁移到我的生产Web服务器,并且我遇到了here所述的PDO身份验证的各种问题。

我成功创建了我的数据库,并且在没有身份验证的情况下,我能够导航主节点(这意味着我的数据库连接工作正常)。

添加服务器pdo身份验证插件时,它会不断询问登录名/密码,虽然我使用了默认值,就像login / pwd错误一样。

我测试了很多场景,无法弄清楚为什么它一直阻止我登录 - 因为我很确定login / pwd是正确的!

测试场景:查看 myServer / server.php / principals / admin / 中的节点(admin是在mysql脚本中创建的默认用户{{3 }})。

尝试0:成功在我的server.php中禁用身份验证

$authBackend = new Sabre\DAV\Auth\Backend\PDO($pdo);
// -- comment out $authPlugin = new Sabre\DAV\Auth\Plugin($authBackend);
// -- comment out $server->addPlugin($authPlugin);

尝试1:FAIL 在我的server.php中使用默认配置失败并继续提示输入密码

$authBackend = new Sabre\DAV\Auth\Backend\PDO($pdo);
$authPlugin = new Sabre\DAV\Auth\Plugin($authBackend);
$server->addPlugin($authPlugin);

尝试2:失败强制server.php中的默认域继续提示输入密码

$authBackend = new Sabre\DAV\Auth\Backend\PDO($pdo);
$authBackend->setRealm('SabreDAV');
$authPlugin = new Sabre\DAV\Auth\Plugin($authBackend);
$server->addPlugin($authPlugin);

尝试3:FAIL 强制在server.php中默认域的替代方法会不断提示输入密码

$authBackend = new Sabre\DAV\Auth\Backend\PDO($pdo);
$authPlugin = new Sabre\DAV\Auth\Plugin($authBackend, 'SabreDAV');
$server->addPlugin($authPlugin);

尝试4:失败保持相同的域'SabreDAV'并生成不同的摘要(实际上,我确保使用与我本地服务器完全相同的登录/密码,但在本地工作,但不在网络制作服务器上...)

$authBackend = new Sabre\DAV\Auth\Backend\PDO($pdo);
$authPlugin = new Sabre\DAV\Auth\Plugin($authBackend, 'SabreDAV');
$server->addPlugin($authPlugin);

重要提示:看来我的生产mysql数据库存储了入站数据 - 如果这是问题的根源,有没有办法解决问题?

登录窗口说 '{3}}正在请求用户名和密码。该网站说:“SabreDAV”'。

然后当遇到逃生时,这是错误页面:

<d:error>
    <s:sabredav-version>3.0.3</s:sabredav-version>
    <s:exception>Sabre\DAV\Exception\NotAuthenticated</s:exception>
    <s:message>No 'Authorization: Digest' header found. Either the client didn't send one, or the server is mis-configured</s:message>
</d:error>

我在服务器配置中设置了一个摘要,因为我使用了教程中描述的标准方法:

$authPlugin = new Sabre\DAV\Auth\Plugin($authBackend, 'SabreDAV');

0 个答案:

没有答案