我目前正在迁移一个基于SharePoint 2007的企业内容管理系统到SharePoint2010。该系统包含基于自定义表单的身份验证提供商和自定义角色提供商。用户角映射存储在DB中,如下所示:

UserId Roalid Siteurl


21 15 www.sitea.com

21 10 www.siteb.com

22 15 www.sitea.com

在角色提供商中,在当前站点中分配给的角色是通过站点URL获取和设置的。通过在其Initilize方法中设置自定义属性(例如名为SiteUrl)的自定义属性(例如属性siteurl)来解决:

siteurl = spcontext.current.web.url;

但是,在SharePoint 2010中,该行不再使用。因为在SharePoint 2010索赔授权中,自定义角色提供商在名为SecurityToken Web服务的单独Web服务中被调用。因此,spcontext.current为null。

现在,我必须找到一种替代方法来获取请求身份验证的网站URL。您能给我任何建议吗?

有帮助吗?

解决方案

为每个域名设置单独的角色是否有效?

让您假设您为汽车经销商提供服务,每个经销商都有一个单独的域名,并且单独的角色(即,一个经销商的“经理”角色中的用户不应担任另一家经销商的“经理”角色,因为他们是两个具有不同管理结构的独立公司)。您可以担任Hensonford.com的经理_Hensonford角色,并担任Charlesford.com的Manager_charlesford角色。

它不起作用,您能给我们更多有关使用方法的背景吗?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top