最近、VisualStudio2008でasp.netWebアプリを実行する際に問題が発生しました。「メンバー...customUserPrincipalのタイプが解決されていません」というエラーが表示されます。さまざまなディスカッショングループを追跡すると、Thread.CurrentPrincipalに対してカスタムプリンシパルを割り当てるときにVisualStudioのWebサーバーに問題があるようです。
私のコードでは、今は...を使用しています。
HttpContext.Current.User = myCustomPrincipal
//Thread.CurrentPrincipal = myCustomPrincipal
エラーが発生したことをうれしく思いますが、「プリンシパルを設定するこれら2つの方法の違いは何ですか?」という疑問が生じます。違いに関連する他のスタックオーバーフローの質問がありますが、2つのアプローチの詳細には触れていません。
私は次の壮大なコメントを持っているが彼の主張を裏付ける説明がない魅力的な投稿を1つ見つけました...
すべてのWeb(ASPX / ASMX)アプリケーションにHttpConext.Current.Userを使用します。
winForms、コンソール、Windowsサービスアプリケーションなどの他のすべてのアプリケーションには、Thread.CurrentPrincipalを使用します。
security / dot.netの達人の誰かが、このテーマに光を当てることができますか?