全部,
我最近尝试在 SharePoint 2010 中实现自定义声明提供程序。声明填充了数据库中的一些业务逻辑。
这些声明似乎正在向用户传达。这是一个很好的第一步。
下一步是检查人员选择器是否工作。
如果您单击“检查名称”按钮,PeoplePicker 可以搜索和解析名称。但是...如果您进入 PeoplePicker,然后单击浏览,然后搜索您的声明,选择它并将其添加到“添加”框中,然后单击确定。什么都没有发生,没有任何内容添加到“授予权限”框中。或者,如果您只是输入索赔并单击“检查名称”按钮,它将很好地解决它,但如果您单击确定,它会清空该字段并说它是必需的。或者,如果您键入声明而不单击“检查名称”按钮并单击“确定”,则会收到一条错误消息,指出:参数 loginName 不能为空或大于 251 个字符。
所以在实现 SPClaimProvider 时,有 2 个 FillResolve 方法,一个接受字符串,一个接受 SPClaim。接受 SPClaim 的人永远不会被调用。我相信,如果我理解正确的话,它会根据 SharePoint 中的声明进行最终解决以应用安全性。
我试图在不提供代码的情况下尽可能详细,但请让我知道您需要知道的任何信息以帮助解决此问题。
提前致谢,斯科特