51CTO Blog地址:https://blog.51cto.com/u_13969817
自2013年以来,Office客户端应用程序默认为现代身份验证,并为最终用户提供无缝体验。但是,SharePoint Designer需要一些附加步骤来支持现代身份验证。
Microsoft 已经官宣:SharePoint Designer的IDCRL身份验证将于2024年6月15日失效,用户必须按照以下步骤启用现代身份验证,以确保SharePoint Designer在最终截止日期后继续工作。
1. 在注册表中,找到目录HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Common\Identity,然后新注册一个key,EnableADAL,并将值改为1,如下所示:
2. 以下文件必须至少是这些最低版本,
1) ADAL.dll
2) MSO.dll
3) CSI.dll
说明:默认情况下,这些DLL文件将位于以下位置之一,具体取决于是否安装了32位或64位版本的SharePoint Designer:
32-bit folder:
64-bit folder: C:\Program Files\Common Files\Microsoft Shared\OFFICE15\
另请注意,SharePoint Designer和其他Office应用程序会在Windows凭据管理器中缓存凭据。如果SharePoint Designer在更新文件后仍无法进行身份验证,请关闭所有Office 2013应用程序,打开凭据管理器(“控制面板”->“用户帐户”->“管理Windows凭据”),然后“删除”所有以“MicrosoftOffice15”开头的条目。
如何准确判断SharePoint Designer正在加载哪些DLL?
“Process Explorer”工具非常适用于以下方面:https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer
请确保SharePoint Designer和Process Explorer都在运行。
· 在Process Explorer中的“进程”列表中选择“SPDESIGN.EXE”。
· 单击“视图”菜单,然后选择“下窗格视图”>“DLL”
· 点击“查看”菜单,选择“选择列”,选择“DLL”选项卡,然后选中“版本”复选框。
· 现在,您可以轻松地验证DLL的版本和位置。
例如,以下是x86 SharePoint Designer SP1的外观。我按“路径”列排序,可以很容易地看到ADAL。DLL和MSO。DLL低于现代身份验证所需的最低要求:
运行Windows Update并确保安装了修补程序后,它看起来如下所示:
如何判断SharePoint Designer是否正在尝试使用现代身份验证?
Fiddler.exe来自https://www.telerik.com/fiddler是查看HTTP/HTTPS网络流量的好工具。要查看HTTPS流量的详细信息,您首先需要转到“工具”->“选项”->“HTTPS”->“解密HTTPS流量”。
当客户端应用程序尝试连接到SharePoint Online时,将协商现代身份验证与传统身份验证。此协商由添加到请求中的标头处理。客户端应用程序将包括广告其支持的身份验证方法的标头,SPO将返回HTTP 401 Unauthorized响应,该响应具有匹配的WWW-Authenticate标头,用于其也支持的每个方法。
旧式身份验证标头为:
X-IDCRL_ACCEPTED:t
X-FORMS_BASED_AUTH_ACCEPTED:T
现代身份验证标头是:
授权:不记名
如果服务器不支持客户端公布的任何身份验证方法,则不会返回WWW-Authenticate标头,并且客户端将显示一个通用凭据提示,该提示不适用于SPO。
以下是Fiddler中的一个例子。您可以看到SharePoint Designer(在“进程”列中显示为spdesign:9956)仅通过包含X-IDCRL_ACCEPTED:t标头来宣传其支持旧版身份验证。由于SharePoint Online租户当前禁用了传统身份验证,401响应不包括SharePoint Designer继续进行身份验证所需的WWW-Authenticate标头:
注意:此Fiddler跟踪中看到的svchost进程是进行WebDAV调用的WebClient服务,该调用试图填充SharePoint Designer的“文件打开”对话框。WebDAV无法直接向SPO进行身份验证,而是需要找到一个现有的持久cookie。我没有持久的cookie,因此所有这些请求都会导致401个未经授权的响应。
在运行Windows Update并确保我的组件得到正确修补后,Fiddler显示SharePoint Designer宣传支持Modern(Authorization:Bearer)和Legacy(X-IDCRL_ACCEPTED:t)。由于我的SharePoint Online租户已阻止传统身份验证,401响应仅包括用于现代/承载身份验证的WWW-Authenticate标头,该标头包括SharePoint Designer需要继续进行的信息。