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);
}
私はドメインの管理者であるため、アプリケーションのアクセス許可に問題があると思いますが、失敗したアプリケーションは動作中のアプリケーションと同じアクセス許可を持っているため、次にどこを見ればよいかわかりません。どんな助けでも大歓迎です。