2009-08-12 12 views
0

SqlProfileProvider(aspnetdb)を使用して、Windows統合認証によってSharePoint 2007サイトに認証されたユーザーの特定のプロファイル情報を格納できるかどうかを確認しようとしています。目標は、各ユーザーのパーソナライゼーション文字列をいくつか格納し、ASP.NETまたはSharePointサイトで実行するASP.NETコードを開発できることです。私はSqlProfileProviderを使用することができ、ASP.NETまたはSharePointのいずれかで利用できることを願っていました。web.configに正しいプロバイダを追加しました。SharePoint 2007:Windows統合認証でSqlProfileProviderを使用しますか?

はここで、私は、SharePoint Webアプリケーションのweb.configファイルで持っているものだが、私のASPXコードビハインド内Context.Profileは常にnullです:

<profile automaticSaveEnabled="true" defaultProvider="AspNetSqlProfileProvider"> 
<providers> 
    <clear/> 
    <add name="AspNetSqlProfileProvider" 
     connectionStringName="aspnetdb" 
     applicationName="simple_test" 
     type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
</providers> 
<properties> 
    <add name="TestName" type="System.String" allowAnonymous="false"/> 
</properties> 

(そのASPNETDBに注意ですweb.config内の他の場所にある有効な接続文字列)。

誰でもWindows認証と一緒にaspnetdbプロファイルプロバイダを接続する経験がありますか?フォーム/メンバーシップ認証が有効な場合のみ動作しますか?クッキーを使用したり、データモデルを作成したり、最初からレイヤーにアクセスしたりせずに、ユーザー設定をASP.NET/Sharepointに永続化する方法に関するその他の提案はありますか?

+1

ウェブパーツのパーソナライズされた設定を保存したいだけですか、サイト/ウェブ全体にパーソナライズされた設定を保存したいですか? – AdamBT

+1

これが面白ければ興味深い。私の直感は、SharePointの一部を台無しにするが、試してみる価値があるということだ。 –

+0

@AdamBT - Webサイト全体のスコープを持つ、またはSharePointがSiteCollectionと呼ぶのが好きなので、ユーザーごとにプロファイル値を保存したいと考えています。 – Mike

答えて

0

をより多くの検索とプロトタイピング私はthis MSDN Forum postにこのおかげためのソリューション全体につまずくことに成功した後。 SharePointでは、ASP.NETプロファイルモジュールを削除し、あなたがWeb.configファイルのHttpModulesセクションに再度それを追加する必要がありますので:

<add name="Profile" type="System.Web.Profile.ProfileModule" /> 

ますので、web.configファイルで定義されたプロファイルの属性にアクセスするために必要ないくつかの回避策もあります。コンパイル時エラーは発生しません。カスタムプロバイダーをdescribed in Becky's post for forms-based authenticationとして開発するか、Profile.GetPropertyValueProfile.SetPropertyValueを呼び出して、現在のユーザーのプロファイル値を取得して設定することができます。

1

まあそれはthis記事によると、可能なはずである。

プロファイルは、ユーザ固有のレコードに格納されているので、あなたは、プロファイル情報を読み書きすることができます前に、現在のユーザーを認証する必要があります。 Windowsベースの認証やフォームベースの認証など、あらゆる種類の認証システムを使用できます。プロファイルシステムは気にしません。ユーザー固有の情報を、ユーザーIDに基づいて識別されるレコードに単に格納します。すべての認証システムがユーザIDによってユーザを一意に識別するのを見ると、どの認証システムも動作します。

しかし、これまでに試したことはありません。

また、私は、より多くの詳細に立ち入りれ、ここでSO上でこの記事を見つけました:

SO Post

+0

ありがとうございます、それは私が考えていることですが、それは動作するはずです。私はWeb.configをセットアップする際にSO Postを参照しましたが、SharePointはいくつかのiisresetsの後でも完全に無視しているようです。 – Mike

関連する問題