2011-01-25 8 views
1

위키에 페이지가 있는지 여부를 확인해야하는 winform 앱이 있습니다. 그러나이 쿼리에는 사용자 NetWork 자격 증명이 전달되어야합니다.Winform App에서 NT 자격 증명 얻기

내 자격 증명을 하드 코딩하고 싶지 않으며 다른 사용자가 사용할 때마다 사용자가 App.config를 조작해야하는 것을 원하지 않습니다. 또한 응용 프로그램에서 암호를 노출해야하는 문제가 있습니다. 구성). 현재 사용자의 NT 자격 증명을 얻을 수있는 방법이 있습니까? 당신은 다음, 미디어 위키의 배치를 의미한다 "위키"에 의해

HttpWebRequest WikiPageRequest; 
WikiPageRequest.Credentials = new NetworkCredential("user", "pass", "dom"); 
//maybe do something like this 
WikiPageRequest.Credentials = GetNTCredentials(); 

답변

3

CredentialCache.DefaultCredential을 사용해 볼 수 있습니까? 현재 로그인 한 사용자 자격 증명을 얻는 것 같습니다.

+0

또는 http://msdn.microsoft.com/en-us/library/system.net.credentialcache.defaultnetworkcredentials%28v=vs.80%29.aspx. NTLM/협상/Kerberos에서만 작동합니다. – sisve

+0

이 자격 증명은 사이트가 IIS에 있고 "Windows 인증"을 사용하는 경우에 작동합니다. –

+0

네, 그렇습니다. 엄청 고마워! – xbonez

0

경우 : 난, 난 그냥 코드의 다음 줄 필요 그것 (그 것이다 명백한 보안 문제)를 참조 할 필요가 없습니다 슬프게도 사용자 ID와 암호가 필요합니다.

불행하게도 Windows 운영체제이기 때문에 심지어 암호를 모르기 때문에 Windows에서 가져올 수 없습니다. 암호 해시를 저장합니다.

그런데 왜 사용자가 앱을 시작할 때마다 위키의 사용자 ID/비밀번호를 묻지 않습니까?