ゾーンレベルのセキュリティを備えたSharePoint2010サイトがあります。サイトのデフォルトゾーンにはWindows認証があり、エクストラネットゾーンにはクレームベース認証があります。クレームベースのサイトには、メンバーシッププロバイダーが使用されます。
私の要件は、そのメンバーシッププロバイダーのユーザーをこの主張されたベースのサイトにプログラムで追加することです(c#)。
どんな助けでも大歓迎です。
ありがとう
ゾーンレベルのセキュリティを備えたSharePoint2010サイトがあります。サイトのデフォルトゾーンにはWindows認証があり、エクストラネットゾーンにはクレームベース認証があります。クレームベースのサイトには、メンバーシッププロバイダーが使用されます。
私の要件は、そのメンバーシッププロバイダーのユーザーをこの主張されたベースのサイトにプログラムで追加することです(c#)。
どんな助けでも大歓迎です。
ありがとう
クレームユーザーを追加するには、次のようにパターンを作成する必要があります。
i:0#.f|{MembershipProvider}|{UserName}
以下のコードが問題を解決するのに十分な詳細を提供することを願っています:
string userName = "dipesh";
string membershipProvider = "MyCustomMP";
string claimUser = string.Format("i:0#.f|{0}|{1}", membershipProvider, userName);
SPUser user = web.EnsureUser(claimUser);
あなたが言うなら、それはコンソールアプリケーションでうまく機能しています、私はそれが許可の問題だけであるべきだと信じています。Windowsサービスとしてホストしており、アプリプールがないため、昇格した実行は機能しないことに注意してください。私が間違っている場合は私を訂正してください。Windowsサービスを実行しているユーザーは、ユーザーを追加するための適切な権限を持っている必要があります。コンソールアプリケーションを実行している現在ログインしているユーザーでWindowsサービスを実行してみてください。それでも機能しない場合は、FarmAdminで試してください。成功した場合でも、他の低特権ユーザーでテストして、必要な権限を正確に把握できるようにします。問題がすぐに解決されることを願っています。