2011-10-26 3 views
0

私はフォーム認証を使用しています。アプリケーションプールが古典的に設定されています。フォーム認証と匿名アクセスを有効にしました。認証。私はまだLOGON_USERまたはIPrincipal.Identity.Nameを読むことができません。Request.ServerVariables ["LOGON_USER"]またはCurrent.User.Identity.Nameが空になった

私はIE9で、現在のユーザー名とパスワードで自動ログオンを通過するようにユーザー認証を設定しました。

まだ、現在ログインしているユーザーは取得できません。

どのような欠点がありますか?これはIIS7.5の大きな変化か、IE9の変更ですか?

注このサイトは社外でも社内でも使用されているため、Windows認証を有効にすることはできません。さらに、クライアントはログインページに誘導されることを望んでおり、ユーザー/パスワードのプロンプトでは挑戦しません。

答えて

0

クラシックに切り替えると、403ステータスが返され、要求を処理できませんでした。

最後に、私はそうのような拡張機能を使用するルートテーブルを変更:

 routes.MapRoute(
      "Default", // Route name 
      "{controller}.mvc/{action}/", // URL with parameters 
      new { controller = "Login", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
     ); 

     routes.MapRoute("Root", string.Empty, new { controller = "Login", action = "Index"}); 

そしてI *は.mvc拡張を処理するために新しいワイルドカードマッピングを追加しました。

また、正しいアプリケーションプールを使用していることを確認してください。私の解決策のアイデンティティ私はNetworkServiceアカウントを使用しています.WebフォルダにNetworkServiceアカウントのフルアクセス権も与えました。

関連する問題