다른 문제를 해결하기 위해 System.DirectoryServices.AccountManagement
네임 스페이스에서 직접 부트 스트랩하려고합니다. 그물에서 나는 광고에서 "ChangePasswordOnNextLogon"플래그를 토글하고 싶고이 네임 스페이스는보기 쉽게 만들었다.System.DirectoryServices.AccountManagement 부트 스트랩 자신
그래서 나는 AdMembershipProvider
을 사용하여 로그인하는 데 사용하는 것과 동일한 사용자 및 암호를 사용하여 시도해 보았습니다. 이 FindByIdentity
에 도달 할 때
PrincipalContext oPrincipalContext =
new PrincipalContext(ContextType.Domain, "10.1.XXX.XXX", "DC=XXXXXXXX,DC=ORG",
ContextOptions.SimpleBind, AUserThatWorks, APasswordThatWorks);
UserPrincipal oUserPrincipal =
UserPrincipal.FindByIdentity(oPrincipalContext, AdUserName);
// we need to see if they can authenticate before changing password,so we have to turn this off manually. - EWB
oUserPrincipal.RefreshExpiredPassword();
bool b = oPrincipalContext.ValidateCredentials(AdUserName, AdPassword);
if (!b)
oUserPrincipal.ExpirePasswordNow();
return b;
는하지만 "나쁜 사용자 또는 암호"오류가 발생합니다.
사용자가 다른 곳에서 일하기 때문에 주체 컨텍스트를 얻는 다른 매개 변수 중 하나가되어야한다고 생각합니다. 누구든지 나 한테 어떤 힌트가있어? URL의 infront LDAP를 넣으려고했지만 연결에 실패했습니다. 나는 혼란 스럽다.
감사합니다,
정확 합니