1

全部,

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

这些声明似乎正在向用户传达。这是一个很好的第一步。

下一步是检查人员选择器是否工作。

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

所以在实现 SPClaimProvider 时,有 2 个 FillResolve 方法,一个接受字符串,一个接受 SPClaim。接受 SPClaim 的人永远不会被调用。我相信,如果我理解正确的话,它会根据 SharePoint 中的声明进行最终解决以应用安全性。

我试图在不提供代码的情况下尽可能详细,但请让我知道您需要知道的任何信息以帮助解决此问题。

提前致谢,斯科特

4

1 回答 1

0

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

希望对某人有所帮助。

于 2013-01-22T00:30:19.800 回答