【问题标题】:Error 406 when Drupal Services Session Authentication enabled (Drupal-iOS-SDK)启用 Drupal 服务会话身份验证时出现错误 406 (Drupal-iOS-SDK)
【发布时间】:2012-09-04 04:45:09
【问题描述】:

首先,感谢那些为构建和开发 Drupal-iOS-SDK 付出大量工作的人。这是一部了不起的作品,我每天都被它的力量所折服。

其次,作为背景知识,我正在编写一个 iOS 应用程序,它允许用户使用他们的 iPhone/iPad 登录到我的 Drupal 站点并访问他们当前存储/显示在视图中的输入数据。

现在,我的问题/问题。到目前为止,我已经能够成功登录到我的 Drupal 站点,其中 iOS 应用程序关闭了 OAuth 和会话身份验证。但是,一旦启用会话身份验证,就会收到 406 错误。我曾尝试在网上寻找解决方案,但不幸的是,我一直无法这样做。什么可能导致此问题,您会建议我如何尝试解决它?

同样,我的假设是禁用会话身份验证是导致我在尝试让应用程序显示我创建的视图时收到 401 错误的原因。会是这样吗?是否会解决我的上述问题,以便我可以启用会话身份验证,然后允许我访问视图?

提前感谢您的帮助,祝您有美好的一天!

好的——我想我正在取得一些进展。

目前,我已禁用会话身份验证,不必处理 406 错误。此外,我调整了我的 Drupal 视图设置,现在在使用 DIOSView 的 viewGet 时不再出现 401 错误。但是,viewGet 的 responseObject 是一个空白集,不包含视图信息。作为测试,我实现了 nodeGet 来检索我的视图链接到的节点。然后我运行应用程序并观察到 ​​nodeGet 的 responseObject 中返回的信息与成功登录的用户的信息不匹配。这让我认为会话和/或用户信息没有从应用程序的第一个视图传递(登录视图)到应用程序的第二个视图(实现 viewGet 的视图)。

有人可以帮忙吗?我知道 Drupal 社区和 Drupal-iOS-SDK 社区非常庞大和活跃。因此,我希望有人可以为我提供一些见解并为我指明正确的方向。

提前致谢!

【问题讨论】:

    标签: drupal service


    【解决方案1】:

    检查数据库中的“会话”表。删除任何具有您登录用户的“uid”和/或您用于登录的 iDevice 的“主机名”(IP 地址)的行。我遇到了同样的问题,在使用 drupal-ios-sdk 在服务中启用会话身份验证时得到 406,这就是为我解决问题的原因。

    401“未授权”状态码是因为请求需要身份验证。一旦会话身份验证正常工作,请检查您的角色和权限。一旦您通过身份验证,如果用户具有正确的角色/权限,他们应该能够访问视图。

    【讨论】:

    • 感谢您的建议!我还没有机会尝试一下,但会告诉你这是否有效。话虽如此,您必须多久进入并删除这些行?换句话说,我删除它们一次就一切顺利吗?
    【解决方案2】:

    我也发现了这个问题。

    在此处尝试遵循此方法。它对我有用

    https://github.com/workhabitinc/drupal-ios-sdk/issues/30

    【讨论】:

    • 感谢您的建议!我还没有机会尝试,但如果可行,我会通知您。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-08
    • 2010-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-12
    相关资源
    最近更新 更多