匿名ユーザーと認証済みユーザーの両方に使用される MVC 3 アプリケーションがあります。
これは、IIS 認証モードを構成して匿名認証と Windows 認証の両方を有効にし、認証モードの web.config 設定を "Windows" に設定し、認証チェックが必要なアクションに選択的にカスタム認証属性を適用することによって実現されます。
問題は、一部のアクションでは属性を適用する必要がない (匿名ユーザーもアクセスできるようにするため) ことですが、管理者ユーザーが閲覧している場合は、彼の User.Identity.Name 値を取得する必要があります。 .
アプリケーションが予期しない動作をすることがあります。場合によっては、ユーザーが前のアクションで認証されると、ユーザーの残りのセッションで User.Identity.Name プロパティを引き続き使用できます。ただし、他のインスタンスでは、空の文字列として表示されます。
では、実際にアプリケーションに「このユーザーを認証する」ように指示するにはどうすればよいでしょうか? Authorize 属性がユーザーの認証を強制できる場合、アクション内でオンデマンドでこれと同じ効果を得るにはどうすればよいでしょうか?
助けてくれてありがとう、
M