0

我有一个带有 c# 的应用程序 Web Forms ASP.NET Framework 4.0。我发布了它并在 IIS(Web 服务器)中创建。当我访问该网站时,出现错误。

我的应用程序池已经设置了 Framework 4.0!

错误:

无法将“System.DirectoryServices.AccountManagement.GroupPrincipal”类型的对象转换为“System.DirectoryServices.AccountManagement.UserPrincipal”类型。

在我的 home.aspx 中,有一个带有 windows 用户名的标签。

protected void Page_Load(object sender, EventArgs e)
{
    string FirstName = UserPrincipal.Current.Surname.ToString();
    string LastName = UserPrincipal.Current.GivenName.ToString();

    Label1.Text = LastName + " " + FirstName;
}

我使用 System.DirectoryServices.AccountManagement;

我不能在 IIS 中使用此身份验证?在我的本地主机中,正常工作

4

1 回答 1

0

尝试这个:

using System.Web.Hosting;

protected void Page_Load(object sender, EventArgs e)
{
   using (HostingEnvironment.Impersonate())
   {
      string FirstName = UserPrincipal.Current.Surname.ToString();
      string LastName = UserPrincipal.Current.GivenName.ToString();
      Label1.Text = LastName + " " + FirstName;
   }
}

还要确保您启用了 Windows 身份验证模式,并且您的应用程序池正在运行 4.0 集成。

于 2013-06-27T15:00:45.233 回答