2013-10-17 1 views
0

사용자가 SSL 연결을 통해 활성 디렉토리 암호를 변경할 수 있도록 ASP 응용 프로그램을 만들고 있습니다.ASP에서 사용할 도메인 관리자 암호를 저장하는 중

마침내이 모든 작업이 가능하지만 아래의 그림과 같이 도메인 관리자 비밀번호가 필요합니다.

Set objIADS = GetObject("WinNT:").OpenDSObject("WinNT://domain", "Administrator", sDomainPassword, ADS_SECURE_AUTHENTICATION) 
Set objIADSUser = objIADS.GetObject("user", sUserID) 
objIADSUser.ChangePassword sOldPassword, sNewPassword 

이제는 제대로 작동하지만 도메인 관리자 비밀번호를 OpenDSObject 메소드에 전달해야합니다.

나는 분명히 텍스트 변수 나 다른 옵션은 내가해야합니까 그래서 SQL Server 테이블에서 일반 텍스트로 일반 텍스트로 저장하고 싶지

?

+1

당신이 기본 사용자가 사용자 아이디와를 OLDpassword, 그리고 이후이있는 경우 사용을 사용하지 왜 자신의 암호를 변경할 수있는 권리가 있습니다 r 암호를 변경하려면 관리자 자격 증명 대신 자격 증명을? –

답변

1

이전 의견을 말한 후 만료 된 계정의 암호 변경 문제가 발생했습니다. 따라서 새로운 시도

일반적인 도구를 사용하면 .wsc (Windows 스크립팅 구성 요소) 파일에서 암호 변경을 수행하도록 코드를 래핑하고 등록한 후 등록 된 자격 증명 (com 귀하의 경우)와 암호를 변경하려면 ASP 코드에서 구성 요소를 인스턴스화.

그런 식으로 구성 요소가 필요한 자격 증명으로 실행되며 암호는 com + 구성 내에 저장됩니다.

1

서버에 CAPICOM from Microsoft을 설치하여 이와 같은 중요한 데이터의 암호화에 사용할 수 있습니다.

예 ASP 코드를 암호화한다 :

세트 objEncryptedData = Server.CreateObject를 ("CAPICOM.EncryptedData")를 objEncryptedData.Algorithm.Name = 3 '= 3 3DES objEncryptedData.Algorithm.KeyLength = 5'= 5 256 비트 objEncryptedData.SetSecret "당신의 암호화 비밀번호" objEncryptedData.Content = "당신의 비밀 데이터"

sEncryptedStream = ""& objEncryptedData.Encrypt (0) '0 = CAPICOM_ENCODE_BASE64 설정 objEncryptedData = 아무것도

,451,515,

예 ASP 코드 해독 :

설정 objEncryptedData = Server.CreateObject를 ("CAPICOM.EncryptedData") objEncryptedData.SetSecret "당신의 암호화 비밀번호"

objEncryptedData.Decrypt (sEncryptedStream) sDecryptedData = objEncryptedData.Content

설정 objEncryptedData = 아무것도

관련 문제