我们的环境是 Sharepoint 2010,使用基于声明的身份验证创建了一个 Web 应用程序(以及顶部的网站集)。第一个站点使用端口 881。它使用集成的 Windows 身份验证。创建了另一个 Web 应用程序,使用端口 882 扩展第一个应用程序。该站点使用基于表单的身份验证,成员资格提供程序是 System.Web.Security.ActiveDirectoryMembershipProvider,名为 admembers。我已经关闭了两个站点上的客户端集成。
当我登录到 881 站点时,在我的公司网络上,使用与 sharepoint 使用的域帐户相同的域帐户登录到计算机,我可以打开保存在文档库中的 Office 文件,然后它会在适当的 Office 应用程序中打开,而无需询问我再次登录。但是,如果我从不在我们网络上的计算机登录 Sharepoint,或者使用非域帐户登录计算机,打开 Office 文档时会再次提示我登录。如果我选择保存选项,它不会提示,但如果我选择在对话窗口中打开,我将被迫再次输入我的域凭据。
当我登录使用 FBA 的 882 站点时,我遇到了同样的问题。如果我打开一个 Office 文档,相应的 Office 应用程序将打开,并通过向我显示一个加载了登录页面的对话窗口来询问我的凭据。如果我选择保存文件,则不会提示我登录,而是将文件保存到本地文件夹。
我不能指望我的离线用户在每次打开 Office 文档(如 Work、Excel、Powerpoint 等)时再次登录。我尝试了许多修复,包括禁用客户端集成、更改浏览器处理模式(严格/允许),更改 Internet Explorer 设置(用于集成 Windows 身份验证),将集成 Windows 身份验证站点更改为使用基本身份验证,甚至使用 jquery 入侵页面以调用执行“下载副本”功能的 sharepoint javascript 函数。它们都没有工作:在浏览器中选择“打开”办公室文档时,用户必须再次登录,或者只是关闭对话框窗口而不登录(只要关闭区域的客户端集成)。
我希望使用 Windows 身份验证或基于表单的身份验证来完成此任务。
帮助!
最佳答案
我找到了 this answer在一个类似的帖子中,当我测试它时,它似乎为我解决了这个问题。它的要点是您需要拒绝 IIS 中的 HTTP Verbs OPTIONS 和 PROPFIND。话虽如此,我不是 IIS 专家,我不确定这意味着什么或它可能会影响什么。其他人可以对此有所了解吗?
一些背景知识,我在 FBA 网站上使用 SharePoint 2010。
关于sharepoint - 使用基于声明的身份验证打开保存在 SharePoint 2010 文档库中的 Office 文档的多次登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4751824/