1

ここに問題があります。私は asp.net Web サイトをホストするために IIS7 を使用しています。どの方法を使用しても問題はありません。現在ログオンしているユーザーとして常にアプリ プール ID を取得しています (認証モードは Windows です)。 . 以下は、ログオンしているユーザーを取得するために使用したコードの一部です (それらはすべてアプリ プール ID を返します)。

WindowsIdentity.GetCurrent().Name 
Convert.ToString(Request.ServerVariables["LOGON_USER"])
WindowsPrincipal p.Identity.Name
Convert.ToString(Request.ServerVariables["AUTH_USER"]).Trim()

この原因について私を助けてください。これは私を大いに悩ませています。

4

2 に答える 2

2

asp.netのなりすましを使用する必要があります。

http://support.microsoft.com/kb/306158

http://msdn.microsoft.com/en-us/library/aa292118%28v=vs.71%29.aspx

http://msdn.microsoft.com/en-us/library/ff647076.aspx

<identity impersonate="true" />

- -アップデート - -

IIS構成を見てください。

ASP.NETのなりすましの問題

----アップデート2----

    public string GetLoggedUserName()
    {
        string rtn = string.Empty;

        if (CurrentContext.User != null)
        {
            if (CurrentContext.User.Identity.IsAuthenticated)
            {
                var gp = CurrentContext.User as WindowsIdentity;
                if (gp!=null)
                {                
                    rtn = gp.Identity.Name;
                }
            }
        }
        return rtn;
    }
于 2013-01-11T08:52:56.863 に答える
1

すべての情報をありがとう。問題は、ASP.NETのある種のバグが原因でした。私が行っていたのは、Webアプリケーションでdefault.aspxからHome.aspxにリダイレクトしていたことですが、リダイレクト後、ログインしたユーザー情報がどのようになったかが問題でした。失われていました。そこで、ホームページをHome.aspxに変更し、必要なすべての情報をそこに保存しました。これで、完全に機能しています。

助けてくれてありがとうgia​​mmin、本当に感謝します/。

于 2013-01-14T11:39:03.523 に答える