CredentialCache.GetCredential 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
지정된 URI(Uniform Resource Identifier)나 호스트 및 인증 형식과 관련된 NetworkCredential 인스턴스를 반환합니다.
오버로드
GetCredential(Uri, String) |
지정된 URI(Uniform Resource Identifier) 및 인증 형식과 관련된 NetworkCredential 인스턴스를 반환합니다. |
GetCredential(String, Int32, String) |
지정된 호스트, 포트 및 인증 프로토콜과 관련된 NetworkCredential 인스턴스를 반환합니다. |
GetCredential(Uri, String)
- Source:
- CredentialCache.cs
- Source:
- CredentialCache.cs
- Source:
- CredentialCache.cs
지정된 URI(Uniform Resource Identifier) 및 인증 형식과 관련된 NetworkCredential 인스턴스를 반환합니다.
public:
virtual System::Net::NetworkCredential ^ GetCredential(Uri ^ uriPrefix, System::String ^ authType);
public System.Net.NetworkCredential GetCredential (Uri uriPrefix, string authType);
public System.Net.NetworkCredential? GetCredential (Uri uriPrefix, string authType);
abstract member GetCredential : Uri * string -> System.Net.NetworkCredential
override this.GetCredential : Uri * string -> System.Net.NetworkCredential
Public Function GetCredential (uriPrefix As Uri, authType As String) As NetworkCredential
매개 변수
- authType
- String
uriPrefix
에 명명된 리소스가 사용한 인증 체계입니다.
반환
NetworkCredential이거나 캐시에 일치하는 자격 증명이 없는 경우에는 null
입니다.
구현
예외
uriPrefix
또는 authType
가 null
인 경우
예제
다음 코드 예제에서는 메서드를 GetCredential(Uri, String) 사용하여 지정된 URI 및 인증 유형과 연결된 인스턴스를 반환 NetworkCredential 합니다.
void Display( NetworkCredential^ credential )
{
Console::WriteLine( "\nThe credentials are:" );
Console::WriteLine( "\nUsername : {0} , Password : {1} , Domain : {2}", credential->UserName, credential->Password, credential->Domain );
}
void GetPage( String^ url, String^ userName, String^ password, String^ domainName )
{
try
{
CredentialCache^ myCredentialCache = gcnew CredentialCache;
// Dummy names used as credentials.
myCredentialCache->Add( gcnew Uri( "http://microsoft.com/" ), "Basic", gcnew NetworkCredential( "user1","passwd1","domain1" ) );
myCredentialCache->Add( gcnew Uri( "http://msdn.com/" ), "Basic", gcnew NetworkCredential( "user2","passwd2","domain2" ) );
myCredentialCache->Add( gcnew Uri( url ), "Basic", gcnew NetworkCredential( userName,password,domainName ) );
// Create a webrequest with the specified url.
WebRequest^ myWebRequest = WebRequest::Create( url );
// Call 'GetCredential' to obtain the credentials specific to our Uri.
NetworkCredential^ myCredential = myCredentialCache->GetCredential( gcnew Uri( url ), "Basic" );
Display( myCredential );
// Associating only our credentials.
myWebRequest->Credentials = myCredential;
// Sends the request and waits for response.
WebResponse^ myWebResponse = myWebRequest->GetResponse();
// Process response here.
Console::WriteLine( "\nResponse Received." );
myWebResponse->Close();
}
catch ( WebException^ e )
{
if ( e->Response != nullptr )
Console::WriteLine( "\r\nFailed to obtain a response. The following error occurred : {0}", (dynamic_cast<HttpWebResponse^>(e->Response))->StatusDescription );
else
Console::WriteLine( "\r\nFailed to obtain a response. The following error occurred : {0}", e->Status );
}
catch ( Exception^ e )
{
Console::WriteLine( "\nThe following exception was raised : {0}", e->Message );
}
}
public static void GetPage(string url,string userName,string password,string domainName)
{
try
{
CredentialCache myCredentialCache = new CredentialCache();
// Dummy names used as credentials.
myCredentialCache.Add(new Uri("http://microsoft.com/"),"Basic", new NetworkCredential("user1","passwd1","domain1"));
myCredentialCache.Add(new Uri("http://msdn.com/"),"Basic", new NetworkCredential("user2","passwd2","domain2"));
myCredentialCache.Add(new Uri(url),"Basic", new NetworkCredential(userName,password,domainName));
// Create a webrequest with the specified url.
WebRequest myWebRequest = WebRequest.Create(url);
// Call 'GetCredential' to obtain the credentials specific to our Uri.
NetworkCredential myCredential = myCredentialCache.GetCredential(new Uri(url),"Basic");
Display(myCredential);
// Associating only our credentials.
myWebRequest.Credentials = myCredential;
// Sends the request and waits for response.
WebResponse myWebResponse = myWebRequest.GetResponse();
// Process response here.
Console.WriteLine("\nResponse Received.");
myWebResponse.Close();
}
catch(WebException e)
{
if (e.Response != null)
Console.WriteLine("\r\nFailed to obtain a response. The following error occurred : {0}",((HttpWebResponse)(e.Response)).StatusDescription);
else
Console.WriteLine("\r\nFailed to obtain a response. The following error occurred : {0}",e.Status);
}
catch(Exception e)
{
Console.WriteLine("\nThe following exception was raised : {0}",e.Message);
}
}
public static void Display(NetworkCredential credential)
{
Console.WriteLine("\nThe credentials are:");
Console.WriteLine("\nUsername : {0} ,Password : {1} ,Domain : {2}",credential.UserName,credential.Password,credential.Domain);
}
Public Shared Sub GetPage(url As String, userName As String, password As String, domainName As String)
Try
Dim myCredentialCache As New CredentialCache()
' Dummy names used as credentials
myCredentialCache.Add(New Uri("http://microsoft.com/"), "Basic", New NetworkCredential("user1", "passwd1", "domain1"))
myCredentialCache.Add(New Uri("http://msdn.com/"), "Basic", New NetworkCredential("user2", "passwd2", "domain2"))
myCredentialCache.Add(New Uri(url), "Basic", New NetworkCredential(userName, password, domainName))
' Creates a webrequest with the specified url.
Dim myWebRequest As WebRequest = WebRequest.Create(url)
' Call 'GetCredential' to obtain the credentials specific to our Uri.
Dim myCredential As NetworkCredential = myCredentialCache.GetCredential(New Uri(url), "Basic")
Display(myCredential)
myWebRequest.Credentials = myCredential 'Associating only our credentials
' Sends the request and waits for response.
Dim myWebResponse As WebResponse = myWebRequest.GetResponse()
' Process response here.
Console.WriteLine(ControlChars.Cr + "Response Received.")
myWebResponse.Close()
Catch e As WebException
If Not (e.Response Is Nothing) Then
Console.WriteLine(ControlChars.Lf + ControlChars.Cr + "Failed to obtain a response. The following error occurred : {0}", CType(e.Response, HttpWebResponse).StatusDescription)
Else
Console.WriteLine(ControlChars.Lf + ControlChars.Cr + "Failed to obtain a response. The following error occurred : {0}", e.Status)
End If
Catch e As Exception
Console.WriteLine(ControlChars.Cr + "The following exception was raised : {0}", e.Message)
End Try
End Sub
Public Shared Sub Display(ByVal credential As NetworkCredential)
Console.WriteLine("The credentials are: ")
Console.WriteLine(ControlChars.Cr + "Username : {0} ,Password : {1} ,Domain : {2}", credential.UserName, credential.Password, credential.Domain)
End Sub
설명
메서드는 GetCredential(Uri, String) 를 CredentialCache 검색하고 지정된 URI 및 권한 부여 유형에 대한 인스턴스를 반환 NetworkCredential 합니다. 에 CredentialCache 일치하는 NetworkCredential 인스턴스 null
가 없으면 가 반환됩니다.
GetCredential 는 캐시에서 가장 긴 일치 URI 접두사를 사용하여 권한 부여 유형에 대해 반환할 자격 증명 집합을 결정합니다. 다음 표에서는 예제를 보여 줍니다.
URI 접두사 | 일치하는 항목 |
---|---|
http://www.contoso.com/portal/news.htm |
특정 웹 페이지에 news.htm 대한 요청입니다. |
http://www.contoso.com/portal/ |
페이지를 news.htm 제외한 경로의 portal 모든 콘텐츠에 대한 요청입니다. |
http://www.contoso.com/ |
경로에 있는 리소스를 제외한 의 www.contoso.com 모든 리소스에 portal 대한 요청입니다. |
적용 대상
GetCredential(String, Int32, String)
- Source:
- CredentialCache.cs
- Source:
- CredentialCache.cs
- Source:
- CredentialCache.cs
지정된 호스트, 포트 및 인증 프로토콜과 관련된 NetworkCredential 인스턴스를 반환합니다.
public:
virtual System::Net::NetworkCredential ^ GetCredential(System::String ^ host, int port, System::String ^ authenticationType);
public System.Net.NetworkCredential GetCredential (string host, int port, string authenticationType);
public System.Net.NetworkCredential? GetCredential (string host, int port, string authenticationType);
abstract member GetCredential : string * int * string -> System.Net.NetworkCredential
override this.GetCredential : string * int * string -> System.Net.NetworkCredential
Public Function GetCredential (host As String, port As Integer, authenticationType As String) As NetworkCredential
매개 변수
반환
NetworkCredential이거나 캐시에 일치하는 자격 증명이 없는 경우에는 null
입니다.
구현
예외
port
가 0보다 작은 경우
설명
이 메서드는 CredentialCache 를 검색하고 지정된 호스트, 포트 및 권한 부여 유형에 대한 인스턴스를 반환 NetworkCredential 합니다. 이 host
메서드에 전달된 , port
및 authType
값은 메서드를 사용하여 Add 자격 증명을 에 추가할 CredentialCache 때 지정된 값과 대/소문자를 구분하지 않습니다.
에 지원 authType
되는 값은 "NTLM", "다이제스트", "Kerberos" 및 "Negotiate"입니다.
적용 대상
.NET