希望找到关于这个问题的任何见解......
我的SharePoint 2010(基础)服务器场具有自定义成员资格和角色提供程序,允许我以新的基于声明的方式通过FBA向ADAM进行身份验证。 它在SharePoint 2007中运行得很好。在2010年,会员提供商会按预期执行,但角色提供商却没有。
我可以通过PeoplePicker添加我的角色(ADAM组)。我可以为该组中的用户输入凭据,并且它会访问提供程序中的getRolesForUser()方法。代码步进准确地获取所有组,包括相关的组。用户已通过身份验证,然后我收到SharePoint Access Denied消息。 所以现在看来SharePoint正在以不同的方式处理它。
我注意到SharePoint用户对象与2007年不同。
2007年
帐户:MyCustomRoleProvider:CN = group,OU = subFolder,OU = Folder,DC = myDomain,DC = com
名称: CN = group,OU = subFolder,OU =文件夹,DC = myDomain,DC = com
2010年 帐户: c:0-.f | MyCustomRoleProvider | CN = group%2cOU = subFolder%2cOU =文件夹%2cDC = myDomain%2cDC = com 名称: CN = group,OU = subFolder,OU =文件夹,DC = myDomain,DC = com
帐户信息中有额外的“东西”,这让我想知道SharePoint是不是将我的用户角色与漂亮,干净,明显的“帐户”名称进行比较。 我不知道如何知道SharePoint正在尝试验证哪些实际字符串,但我尝试了很多排列(取消“%2c”,有/无“c:0”,有/无“ MyCustomRoleProvider“等等,并没关系。
有没有人有任何想法?