를 사용하여 사이트에 로그인합니다. 나는 아마도 내가 사용할 수 있다고 생각내가 현재 로그인 한 사용자의 Windows 인증을 사용하여 내 프로그램 내부 서버에 로그온 할 C#을
System.Security.Principal .WindowsIdentity.GetCurrent(). 이름
그러나 그 이름을 제공하는 동안, 나는 그것을 입력하는 사용자의 비밀 번호를 찾을 수있는 방법을 볼 수 없습니다.
를 사용하여 사이트에 로그인합니다. 나는 아마도 내가 사용할 수 있다고 생각내가 현재 로그인 한 사용자의 Windows 인증을 사용하여 내 프로그램 내부 서버에 로그온 할 C#을
System.Security.Principal .WindowsIdentity.GetCurrent(). 이름
그러나 그 이름을 제공하는 동안, 나는 그것을 입력하는 사용자의 비밀 번호를 찾을 수있는 방법을 볼 수 없습니다.
암호를 가져올 수 없습니다. 가장을 사용하여 연결할 서버에 ID를 전달해야합니다.
사용자가 응용 프로그램에 암호를 제공하지 않으면 암호를 기본 로그인에 사용할 수 없습니다. 로컬로 로그인 한 사용자를 기반으로 일종의 가장 또는 위임 권한을 수행해야합니다. Web.config의에서
:
<system.web>
<authentication mode="Windows" />
<identity impersonate="true"/>
</system>
당신은 Windows 사용자 인증을 사용하려는 경우, 당신은 아마 간단한 사용자 이름/암호 조합보다 안전 그것의 일부를 사용해야합니다. (아마도 모든 .NET 응용 프로그램이 전체 계정 정보에 액세스 할 수 있으므로 비밀번호에 액세스 할 수있는 방법이 없습니다.)
예를 들어, 은 모든 Windows NT 구현에서 사용자에게 고유 한 것으로 명시되어 있습니다 . (이것은 모든 Windows NT 구현에서 이것은 주어진 시스템의 각 사용자마다 고유하게 나타납니다. 그러나 확실하지는 않습니다.)
Windows 사용자의 암호를 얻는 방법은 절대적으로 없습니다 그것을 저장하지 않습니다 (저장되는 모든 것은 되돌릴 수없는 해시입니다).
클라이언트와 서버가 모두 동일한 도메인에있는 경우 사용자 이름과 암호를 지정할 필요가 없습니다.
HttpRequest를 사용하는 경우 LogonUserIdentity을 설정해야합니다.
SOAP 서비스를 호출하는 경우 Credentials 속성을 설정해야합니다.