2012-02-23 20 views
0

httpcontext.current.user.identity.nameの値をSQLデータベーステーブルに格納されている値と比較しようとしています。私のローカルマシンで正常に動作します。しかし、httpcontext.current.user.identity.nameは、同じWebサイトがサーバー上でホストされている場合に空に戻ります。 IISでは「匿名アクセスを許可する」が有効になっていて、無効にしたくありません。オンラインで利用可能な多くのソリューションがありますが、それは私の要求に合ったものを見つけることができません。httpcontext。 current.user.identity.nameが空です

答えて

0

AuthCookieを設定しようとしましたか?

if (Membership.ValidateUser(txtBxusername, txtBxpassword)) 
{ 
    FormsAuthentication.SetAuthCookie(strUsername, true); 
    bool isAuth = User.Identity.IsAuthenticated; 
    FormsAuthentication.RedirectFromLoginPage(userName, chkBxRememberMe.Checked); 
} 

今、あなたは他の場所で、あなたのコードに次のように使用することができるはずです。

string userName = User.Identity.Name; 
+0

私は、これはフォーム認証の場合に動作しますね。私のWindows認証です。 – user598082

+0

この質問のためにあなたのタグにasp.netが指定されており、IISについて言及しています。あなたのシステムでWindows認証はどこに入っていますか?私は長年にわたっていくつかのプロジェクトでaspメンバーシップを使用しており、User.Identity.NameがASP.netで動作することを確認できます。あなたのセットアップに関する詳細を教えてください。 – Seany84

+0

私はAsp.netを使用して混乱して申し訳ありません。web.configファイルでは、<認証モード= "Windows" />を設定しています。 – user598082

関連する問題