0

プログラムで奇妙なバグを見つけました (またはバグではないかもしれませんが、わかりません) 私は asp.net Web アプリケーションを作成しており、プロファイルのメンバーシップとセキュリティ用に標準の asp.net データベースを持っています。だから私がこのようなものを書くとき

qwe.text=Page.User.Identity.Name.ToString()

ユーザー名が John だとしましょう。ctrl+F5 を押して Web アプリケーションを起動すると、次のように表示されます。

qwe.text = "John"

それは大丈夫。しかし、その後 Iis を構成し、プロジェクトを公開します。同じページに移動して、私が見ているものを推測してください: qwe.text = " John"John の前に空白文字があります。私は別の名前で同じ効果をテストしました。私は少し混乱しています。何がこのような素晴らしいバグを引き起こすのでしょうか。プログラミングではなく、魔法のようなものです..

4

1 に答える 1

0

ASP.NET は認証 Cookie から User.Identity.Name を返します。認証モジュールによって設定されています。

  1. HTTP リクエスト/レスポンスの認証 Cookie は、ネットワーク プロセス間で他のシステム (ブラウザ、プロキシ、IHttpModule、IIS) によって変更される可能性があります。

  2. IIS / ローカル環境の認証モジュールは異なる場合があります。Web.Config<httpModules>にそれらのいずれかが含まれていることを確認してください

于 2013-08-09T06:01:33.180 に答える