コントローラーにログインしているユーザー名を取得しようとすると、常に空の文字列が返されます。最初にアプリを作成したとき、「インターネット アプリケーション」テンプレートを選択しました。また、デフォルトのアカウント コントローラー、アカウント モデル、および _logon ビューは不要なので削除しました。独自のスタイリングを使用しているため、プロジェクトからも site.css を削除しました。
しばらくweb.configをいじった後、web.configの認証モードをWindowsに変更すると、「User.Identity.Name」が実際に機能することがわかりました。「フォーム」認証モードのままにしておくと、ユーザー名を取得しようとするたびに空の文字列しか取得できません。
最近、認証モードを Windows に変更し、コントローラーの 1 つで User.Identity.Name を使用してユーザー名を取得しましたが、アプリを実行するたびにブラウザーでエラーが発生し、"localhost/Account/LogOn/ ..." 見つかりません。(私の通常のビューへの指示ではありません) ( Global.asax にも変更を加えていません。)
認証モードをフォームに戻すと、ビューは正常に機能しますが、ユーザー名が表示されません (空の文字列のみ)。とにかく、この問題を回避する方法を見つけることができますか? ルーティングなどに何か問題がありますか? 「イントラネット アプリケーション」テンプレートを使用して最初からやり直す余裕はありません。
私はMVCの初心者なので、どんな助けでも大歓迎です。
ありがとう