我正在开发一个 MVC 应用程序,我有一个获取当前登录用户密码信息的例程,它在我的 PC 上运行良好,但是当我将我的应用程序发布到域上的实时服务器时,我似乎无法以访问 AD 信息。我在当前运行的 asp.net web 应用程序中使用了非常相似的代码,它工作得很好。我比较了两个应用程序的安全设置,它们看起来相同。这是例程:
public int GetPasswordExpiration()
{
PrincipalContext domain = new PrincipalContext(ContextType.Domain);
string currUserName = WindowsIdentity.GetCurrent().Name;
UserPrincipal currLogin = UserPrincipal.FindByIdentity(domain, currUserName);
DateTime passwordLastSet = currLogin.LastPasswordSet.Value; //here is where it chokes***
int doyPasswordSet = passwordLastSet.DayOfYear;
int doy = DateTime.Today.DayOfYear;
int daysSinceLastset = (doy - doyPasswordSet);
int daysTilDue = (120 - daysSinceLastset);
return (daysTilDue);
}
我是域的管理员,所以我认为我有一个应用程序权限问题,但由于失败的应用程序与工作应用程序具有相同的权限,我不确定下一步该往哪里看。任何帮助表示赞赏。