내가 만든 서비스 프로세스를 설치하는 설치 패키지가 있습니다. 서비스 프로세스가 실행되어야하는 계정의 사용자 이름/암호를 묻는 메시지를 표시하고 싶습니다. 설치를 계속하기 전에 사용자 이름/암호 조합이 유효한지 확인하고 싶습니다. 특별한 설치 동작을 위해 사용하는 C DLL이 있지만 Windows API를 사용하여 계정의 자격 증명을 확인하는 방법을 알 수 없습니다. 서비스 제어 관리자가 사용하는 것과 동일한 계정 이름 구문을 지원할 수 있기를 바랍니다.Windows 계정의 사용자 이름과 암호 확인
7
A
답변
12
사용할 기능은 LogonUser입니다. 엑스트라 쿨 (cool) 기능을 제공하고 사용자가 서비스를 실행할 수있는 적절한 권한을 가지고 있는지 확인하는 LOGON32_LOGON_SERVICE 플래그를 지정할 수도 있습니다.
2
LogonUser은 Microsoft가 다소 discourages it이지만이 작업을 수행하는 표준 방법입니다.
0
여러분이 언급 한 LogonUser 함수를 사용하여 구현했습니다. (그런데이 서비스에는 WinXP SP2 이상이 필요하므로 권한 문제는 걱정할 필요가 없습니다.) 그러나 이것은 내가 기대했던 것만 큼 효과가 없습니다. QueryServiceConfig를 호출하면 lpServiceStartName은 ". \ accountname"형식입니다. LogonUser에이 문자열을 그대로 전달하면 오류가 발생합니다. '\'가 사용자가 속한 시스템을 나타 내기 전에 그 부분을 가정합니까?
또한 "LocalSystem"및 "lpServiceStartName 및 lpPassword 매개 변수 각각에 대해"를 지정하는 ChangeServiceConfig를 호출하면 정상적으로 작동합니다. 그러나 이러한 매개 변수를 사용하여 LogonUser를 호출하면 작동하지 않습니다.
저는 SCM이 계정 이름에 사용하는 구문과 동일한 구문을 사용하고 싶습니다.
관련 문제
- 1. 사용자 이름과 암호 인증
- 2. PHP - 트위터 사용자 이름과 암호
- 3. WCF TransportCredentialOnly는 사용자 이름과 암호
- 4. 로그인 양식 (jQuery)에서 사용자 이름과 암호 확인
- 5. Android에서 사용자 이름과 비밀번호 확인
- 6. CouchDB에서 사용자 이름과 암호 변경하기 _user 데이터베이스
- 7. Submit 사용자 이름과 암호 javascript (형식 아님)
- 8. 사용자 이름과 암호 저장 ASP.NET 인증
- 9. iPhone SDK : 코드에 사용자 이름과 암호 저장
- 10. txt 파일에서 사용자 이름과 암호 읽기
- 11. 웹 서비스 호출에서 사용자 이름과 암호 사용
- 12. 웹 서비스에 사용자 이름과 암호 보내기
- 13. Windows 암호 LDAP로 인증
- 14. phpmyadmin 사용자 이름과 비밀번호
- 15. VB.Net에 Windows 사용자 이름 + 암호 저장
- 16. C#의 사용자 이름과 비밀번호 확인
- 17. Base SAS를 사용하여 Windows 암호 확인
- 18. 'System.Collections.Generic'사용자 이름과 암호 목록에 대한 최선의 선택
- 19. PhpmyAdmin WIMP 서버의 사용자 이름 및 암호
- 20. 암호 확인 오버레이
- 21. Spring .NET을 사용하여 .net 웹 서비스에 사용자 이름과 암호 보내기
- 22. Windows 모바일 (6.0) 앱에 영구 사용자 이름과 비밀번호 저장
- 23. .NET을 사용하여 원격으로 Windows 사용자 암호 변경
- 24. CakePHP 1.3으로 암호 확인
- 25. 전자 메일 암호 확인
- 26. PHP 암호 확인
- 27. 서비스에서 사용자 계정의 Windows 특수 경로를 얻는 방법
- 28. Windows API 및 Administrator 계정의 위험?
- 29. 재설정 응용 프로그램에 대한 사용자 Oracle 암호 유효성 확인
- 30. 연결 문자열에 AD 사용자 이름과 암호가있는 SQL에 대한 Windows 인증
이전 OS 버전 (Win2K 이전)에서는 LogonUser() API에 높은 권한 ("운영 체제의 일부로 작동")이 필요하다는 점을 명심하십시오. –