0

现在,此代码通过获取经过身份验证的用户(Windows 身份验证)来工作。我们正在使用活动目录。但是,如果您断开网络并尝试登录此特定应用程序,您将被重定向到我们的 ISA 2006 服务器,然后将登录信息传递到应用程序(理论上,哈哈)

当我在我的手机上通过 3g 访问这个应用程序时它非常慢,但我没有收到错误(错误只是一个带有确定按钮的弹出窗口,有时它会说错误,有时它不会)。但是,当我在外部使用更快更好的计算机时,它确实给了我这个错误。我的同事进行的单元测试显示,存在某种递归循环或某种导致错误的循环。每当您在网络上登录 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 回答