Windows認証を使用するasp.netイントラネットアプリケーションがあります。私はVS 2005で数年前にアプリケーションを作成しました.Windows認証ビットは完全に動作していました。HttpContext.Current.UserにWindows認証が設定されていません
<authentication mode="Windows" />
<authorization>
<deny users="?"/>
</authorization>
私は資格情報が必要であることを確認するために、Firefoxでこれをテストし、実際に私は、ときに最初に私のネットワーク資格情報の入力を求めています: - (>のsystem.web要素の構成内の)私のweb.configファイルには、以下がありますサイトにアクセスし、無効であれば拒否されます。
ただし、HttpContext.Current.User.Identityにアクセスしようとすると、オブジェクトにはNameとAuthenticationTypeの空の文字列があり、Authenticated = falseになります。私は、interwebsの周りを見回した後にWindowsTokenRoleProviderを有効にする必要があるかもしれないと思っていましたが、これは何も変わりませんでした。
<roleManager defaultProvider="WindowsProvider" enabled="true" cacheRolesInCookie="false">
<providers>
<clear/>
<add name="WindowsProvider" type="System.Web.Security.WindowsTokenRoleProvider"/>
</providers>
</roleManager>
二つの私は、私はそれが仕事を見てきました前回やった事は変換ウィザードをVS 2008にプロジェクトをアップグレードしている、と私の同僚はかもしれないが、私はまた、数ヶ月のためにそれを置きますここやそこでそれに取り組んだ。 User.Identityに影響を与える唯一のものは、上記のweb.configの値ですが、明らかに何か間違っています。他の誰かが似たような問題に遭遇するか、私が間違っている何かを見ますか?ありがとう。
IEでテストしましたか? –
うん... IEでもテストされています。私がFirefoxに言及した唯一の理由は、IEが自動的にあなたの認証情報を渡すのに対し、FFはプロンプトを使ってログインを強制するからです。これは私が匿名アクセスをブロックしていることを知っているが、私はまだUser.Identityに空白の情報を得ている。 – Rich
「HttpContext.Current.User.Identityにアクセスしようとすると、ページライフサイクルのどの時点であなたはこれをやっている? – Bullines