SharePoint 2010自定义声明提供程序

时间:2011-03-31 19:31:30

标签: c# sharepoint-2010 claims

所有

我最近尝试在SharePoint 2010中实现自定义声明提供程序。声明会从数据库中填充一些业务逻辑。

索赔似乎正在向用户开放。这是一个很好的第一步。

下一步是检查人员选择器是否有效。

如果单击“检查名称”按钮,PeoplePicker可以搜索并解析名称。然而... 如果您进入PeoplePicker,然后单击“浏览”,则搜索您的声明,然后选择它并将其添加到“添加”框中,然后单击“确定”。没有任何反应,Grant Permissions框中没有添加任何内容。 或者,如果您只是输入一个声明并单击“检查名称”按钮,它将解决它,但如果您单击确定,它将清空该字段并说明它是必需的。 或者,如果您键入声明而不是单击“检查名称”按钮并单击“确定”,则会收到一条错误消息,指出: 参数loginName不能为空或大于251个字符。

因此,在实现SPClaimProvider时,有2个FillResolve方法,一个接受字符串,另一个接受SPClaim。接受SPClaim的那个永远不会被调用。 我相信,如果我理解的话,那就是最终解决的问题是根据SharePoint中的声明来应用安全性。

我试图在不提供代码的情况下尽可能详细,但请告诉我您需要了解的任何内容以帮助解决此问题。

先谢谢, 斯科特

1 个答案:

答案 0 :(得分:0)

我知道这是一个老问题,但我遇到它并认为我可以帮助下一个人。我通常会看到此效果“单击确定”,当我在SPClaimProvider中声明不在可信身份提供程序(TIP)中时,它会消失。对于从安全令牌服务链接到SharePoint系统的声明,它必须在提示中。如果不是SharePoint,则只丢弃它。

希望能有所帮助。