1

我目前正在将基于 Sharepoint 2007 构建的企业内容管理系统迁移到 Sharepoint 2010。该系统包含一个基于自定义表单的身份验证提供程序和一个自定义角色提供程序。用户角色映射存储在数据库中,如下所示:

userID roleID siteURL


21 15 www.sitea.com

21 10 www.siteb.com

22 15 www.sitea.com

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

SiteURL = SPContext.Current.Web.Url;

但是,在 Sharepoint 2010 中,该行不再可用。因为在 Sharepoint 2010 声明授权中,自定义角色提供程序在名为 SecurityToken Web 服务的单独 Web 服务中调用。所以 SPContext.Current 为空。

现在我必须找到另一种方法来获取请求身份验证的站点 url。你能给我一些建议吗?

4

1 回答 1

0

是否可以为每个域名设置单独的角色?

假设您向汽车经销商提供服务,并且每个经销商都有一个单独的域名和单独的角色(即,一个经销商的“经理”角色的用户不应该拥有另一个经销商的“经理”角色,因为他们是两个具有不同管理结构的独立公司)。您可以拥有 hensonford.com 的 Manager_HensonFord 角色,以及 charlesford.com 的 Manager_CharlesFord 角色。

它不起作用,你能给我们更多关于它的用途的背景信息吗?

于 2010-11-08T11:21:14.607 回答