1

現在、Sharepoint 2007 で構築されたエンタープライズ コンテンツ管理システムを SharePoint 2010 に移行しています。このシステムには、カスタム フォーム ベースの認証プロバイダーとカスタム ロール プロバイダーが含まれています。ユーザーとロールのマッピングは、以下のように DB に保存されます。

ユーザー ID ロール ID サイト URL


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 は null です。

ここで、認証を要求しているサイトの URL を取得する別の方法を見つける必要があります。何か提案はありますか?

4

1 に答える 1

0

ドメイン名ごとに別々の役割を設定することはできますか?

あなたが自動車販売店にサービスを提供していて、各販売店が別々のドメイン名と別々の役割を持っていたとしましょう (つまり、ある販売店の「マネージャー」役割のユーザーは、別の販売店の「マネージャー」役割を持つべきではありません。異なる管理構造を持つ別の会社)。hensonford.com の Manager_HensonFord ロールと、charlesford.com の Manager_CharlesFord ロールを持つことができます。

これは機能しません。これが何に使用されているかについて、もう少しコンテキストを教えていただけますか?

于 2010-11-08T11:21:14.607 に答える