Sharepoint 2013 站点 NTLM 身份验证 javascript doPostBack 在 Safari 和 iPad 中不起作用
Posted
技术标签:
【中文标题】Sharepoint 2013 站点 NTLM 身份验证 javascript doPostBack 在 Safari 和 iPad 中不起作用【英文标题】:Sharepoint 2013 site NTLM authentication javascript doPostBack doesnt work in Safari&iPad 【发布时间】:2015-11-21 10:49:18 【问题描述】:我有一个非常有趣的问题。我们有一个使用 sharepoint 2013 创建的站点。我们使用 Windows - NTLM 身份验证。
在包含自定义讨论列表WebPart 的页面中,我们有一个过滤按钮,它使用带有webpart ClientID 和filter 参数的javascript doPostBack 函数。
exp: __doPostBack("ClientID","params");
当我们进行过滤时,只是讨论列表 webpart 会发回,并且对页面的任何部分没有任何请求。这意味着页面不会重新加载。这是我们的预期。
它在 IE 10 和 chrome 中运行良好。更重要的是,当我们在任何 ipad 中打开此页面时,我们都会遇到问题。我们使用 __doPostBack 的过滤器按钮重新加载页面。桌面上的 safari 也有问题。
--我控制了 IIS (8) windows 身份验证提供程序,只有 NTLM(没有否定)。
-- 我发现另一个讨论ios 8 / Safari 8 not working with ASP.NET AJAX-Extensions。
当我每次在 Safari 中打开该网站时,它都会要求提供用户凭据。如果我说记住密码 doPostBack 工作正常。
但我不能在 ipad 中执行此操作。所以问题依然存在。
我在 dvl 工具中没有看到任何控制台错误。但它不做回发。只需刷新页面即可。
请帮助解决这个问题。 谢谢。
【问题讨论】:
【参考方案1】:我认为您的问题不在于回发,我认为问题在于 iOS 对 NTLM 的支持有限(不是?)。快速搜索显示了一大堆遇到此问题并以不同方式解决的人:
-
Extend your SharePoint web application into an alternate zone
Write an iOS app to handle the authentication manually for you
Change the authentication on the SharePoint site to ADFS or something more iOS-friendly
这些都不是您要寻找的灵丹妙药,而且它们都涉及您更改的不仅仅是网站上的代码,但如果没有“简单按钮”,希望它会为您指明正确的方向。”
编辑:语法
【讨论】:
因为激进,无法对认证方式做任何改变,第一次输入用户凭证时,我对“记住我”成功工作的原因感到困惑。这意味着可以通过缓存用户凭据来完成。但是怎么做?我不知道 在您的 iPad 上说“记住我”时是否有效?我理解您的问题是说您在 iPad 上 not 时在 Safari 上找到了解决方法,因为您说But I can not do this in ipad. So The problem still exists.
非 iOS 设备上的 Safari not 与iOS 上的 Safari。
引擎相同,但版本不同。谢谢杰威尔伯。问题依然存在。还有其他帮助吗?以上是关于Sharepoint 2013 站点 NTLM 身份验证 javascript doPostBack 在 Safari 和 iPad 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
日常运维SharePoint 2013 缺少站点保存为模板选项