Partager via


解决 SharePoint 2010 中的声明名称时遇到的问题

解决 SharePoint 2010 中的声明名称时遇到的问题

我已经见过此问题出现多次了,所以我想我应尽力分享,以备大家遇到此问题并尝试解决时使用。我遇到过名称解析无法运行的情形,如当您在键入控件中键入名称,然后单击“解析”按钮时。如果您已开发了自定义声明提供程序,您甚至可以附加一个调试程序。您看到提供程序正常运行,但结果,您键入的名称仍然有红色的波浪下划线,指明未找到匹配项。此特定问题的更有效事实是,您发现现成的提供程序也不再正常运行。例如,您可键入 NT Authority/All Authenticated Users,但它也无法解析。

结果,发生的问题是,当调用一些提供程序的 FillResolve 的重载时,在某些情况下会引发异常。您可能已经从介绍中猜到,此处尤其麻烦的事情是,一个错误的提供程序会使服务器场中的所有名称解析停止工作。因此,如果遇到此情形,甚至无法使现成的提供程序解析名称,请仔细检查自定义提供程序。您可能需要逐个删除它们,以找到出问题的提供程序(如果您尚未编写所有提供程序)。当然,如果这样做会出现其他问题,主要是因为以不同的顺序将它们添加回来,则它们不会像以前一样生成相同的基础声明(因为部分声明基于添加提供程序的顺序)。

但本文的主题只是遇到该问题时应查看的内容,以及如何解决。

重要推论/请阅读以下内容

以上信息想表明的一件事情是,你们大家(我亲爱的自定义声明提供程序开发人员),不应在提供程序中引发异常。否则,便有可能成为“错误的”提供程序,从而阻止在服务器场中进行名称解析。没有人愿意接到那种电话呼叫。

这是一篇本地化的博客文章。请访问 Problems Resolving Claims Names in SharePoint 2010 以查看原文