0

現在、このコードは、認証されたユーザー (Windows 認証) を取得することで機能します。Active Directory を使用しています。ただし、ネットワークに接続していないときにこの特定のアプリケーションにログインしようとすると、ISA 2006 サーバーにリダイレクトされ、そこからログイン情報がアプリケーションに渡されます (理論上は笑)。

3G を介して携帯電話でこのアプリにアクセスすると、かなり遅いですが、エラーは発生しません (エラーは、[OK] ボタンのあるポップアップであり、エラーと表示されることもあれば、表示されないこともあります)。ただし、外部より高速で優れたコンピューターを使用すると、このエラーが発生します。私の同僚による単体テストでは、ある種の再帰ループまたは何らかのエラーが発生していることが明らかになりました。ネットワーク上で Web アプリケーションにログインするたびに、問題なく Windows 認証が取得され、エラーは発生しません。私は自分のバグを見つけようとして 3 日間費やしましたが、見つけることができませんでした。別の数組の目がそれを追跡するのに役立つことを願っています (私は C# で ASP.net 4.0 を使用しています)。

public string IdentifyUser()
    {
        string retval = string.Empty;
        try{


               //System.Security.Principal.WindowsPrincipal p = System.Threading.Thread.CurrentPrincipal as System.Security.Principal.WindowsPrincipal;
                //string UserIdentityName = p.Identity.Name;
                string UserIdentityName = Request.ServerVariables["AUTH_USER"];
                //string UserIdentityName = HttpContext.Current.User.Identity.Name.ToString();
                string slash = @"\";
                string Username = UserIdentityName.Substring(UserIdentityName.IndexOf(slash) + 1);
                retval = Data_Access_Layers.SQL.GetUserID(Username);




           }
        catch (Exception ex)
        {
            throw ex;
        }
        return retval;
    }

基本的にこれは発火し、ユーザー名を取得し、「GetUserID」に送信され、そのユーザー名を検索し、そのユーザーに関連付けられたユーザー ID を返信します。これはメイン ページに送信され、javascript 変数に格納されます。 (ページの他の部分で使用するため)

4

1 に答える 1

0

AUTH_USER が空なのが問題?

ネットワークの内外からアプリにアクセスするときの AUTH_TYPE ヘッダーの値は何ですか?

于 2012-06-12T19:23:07.410 に答える