Authorization コンストラクタ (String)
アセンブリ: System (system.dll 内)

public: Authorization ( String^ token )


Authorization オブジェクトを作成する方法を次のコード例に示します。詳細については、AuthenticationManager クラスのトピックを参照してください。
' Authenticate is the core method for this custom authentication. ' When an Internet resource requests authentication, the WebRequest.GetResponse ' method calls the AuthenticationManager.Authenticate method. This method, in ' turn, calls the Authenticate method on each of the registered authentication ' modules, in the order in which they were registered. When the authentication is ' complete an Authorization object is returned to the WebRequest. Public Function Authenticate(ByVal challenge As String, ByVal request As WebRequest, ByVal credentials As ICredentials) As Authorization _ Implements IAuthenticationModule.Authenticate Dim ASCII As Encoding = Encoding.ASCII ' Get the username and password from the credentials Dim MyCreds As NetworkCredential = credentials.GetCredential(request.RequestUri, "Basic") If PreAuthenticate(request, credentials) Is Nothing Then Console.WriteLine(ControlChars.Lf + " Pre-authentication is not allowed.") Else Console.WriteLine(ControlChars.Lf + " Pre-authentication is allowed.") End If ' Verify that the challenge satisfies the authorization requirements. Dim challengeOk As Boolean = checkChallenge(challenge, MyCreds.Domain) If Not challengeOk Then Return Nothing End If ' Create the encrypted string according to the Basic authentication format as ' follows: ' a)Concatenate the username and password separated by colon; ' b)Apply ASCII encoding to obtain a stream of bytes; ' c)Apply Base64 encoding to this array of bytes to obtain the encoded ' authorization. Dim BasicEncrypt As String = MyCreds.UserName + ":" + MyCreds.Password Dim BasicToken As String = "Basic " + Convert.ToBase64String(ASCII.GetBytes(BasicEncrypt)) ' Create an Authorization object using the encoded authorization above. Dim resourceAuthorization As New Authorization(BasicToken) ' Get the Message property, which contains the authorization string that the ' client returns to the server when accessing protected resources. Console.WriteLine(ControlChars.Lf + " Authorization Message:{0}", resourceAuthorization.Message) ' Get the Complete property, which is set to true when the authentication process ' between the client and the server is finished. Console.WriteLine(ControlChars.Lf + " Authorization Complete:{0}", resourceAuthorization.Complete) Console.WriteLine(ControlChars.Lf + " Authorization ConnectionGroupId:{0}", resourceAuthorization.ConnectionGroupId) Return resourceAuthorization End Function 'Authenticate End Class 'CustomBasic
// Authenticate is the core method for this custom authentication. // When an Internet resource requests authentication, the WebRequest.GetResponse // method calls the AuthenticationManager.Authenticate method. This method, in // turn, calls the Authenticate method on each of the registered authentication // modules, in the order in which they were registered. When the authentication is // complete an Authorization object is returned to the WebRequest. public Authorization Authenticate(String challenge, WebRequest request, ICredentials credentials) { Encoding ASCII = Encoding.ASCII; // Get the username and password from the credentials NetworkCredential MyCreds = credentials.GetCredential(request.RequestUri, "Basic"); if (PreAuthenticate(request, credentials) == null) Console.WriteLine("\n Pre-authentication is not allowed."); else Console.WriteLine("\n Pre-authentication is allowed."); // Verify that the challenge satisfies the authorization requirements. bool challengeOk = checkChallenge(challenge, MyCreds.Domain); if (!challengeOk) return null; // Create the encrypted string according to the Basic authentication format as // follows: // a)Concatenate the username and password separated by colon; // b)Apply ASCII encoding to obtain a stream of bytes; // c)Apply Base64 encoding to this array of bytes to obtain the encoded // authorization. string BasicEncrypt = MyCreds.UserName + ":" + MyCreds.Password; string BasicToken = "Basic " + Convert.ToBase64String(ASCII.GetBytes(BasicEncrypt)); // Create an Authorization object using the encoded authorization above. Authorization resourceAuthorization = new Authorization(BasicToken); // Get the Message property, which contains the authorization string that the // client returns to the server when accessing protected resources. Console.WriteLine("\n Authorization Message:{0}",resourceAuthorization.Message); // Get the Complete property, which is set to true when the authentication process // between the client and the server is finished. Console.WriteLine("\n Authorization Complete:{0}",resourceAuthorization.Complete); Console.WriteLine("\n Authorization ConnectionGroupId:{0}",resourceAuthorization.ConnectionGroupId); return resourceAuthorization; }
// Authenticate is the core method for this custom authentication. // When an internet resource requests authentication, the WebRequest::GetResponse // method calls the AuthenticationManager::Authenticate method. This method, in // turn, calls the Authenticate method on each of the registered authentication // modules, in the order they were registered. When the authentication is // complete an Authorization object is returned to the WebRequest, as // shown by this routine's retun type. virtual Authorization^ Authenticate( String^ challenge, WebRequest^ request, ICredentials^ credentials ) { Encoding^ ASCII = Encoding::ASCII; // Get the username and password from the credentials NetworkCredential^ MyCreds = credentials->GetCredential( request->RequestUri, "Basic" ); if ( PreAuthenticate( request, credentials ) == nullptr ) Console::WriteLine( "\n Pre-authentication is not allowed." ); else Console::WriteLine( "\n Pre-authentication is allowed." ); // Verify that the challenge satisfies the authorization requirements. bool challengeOk = checkChallenge( challenge, MyCreds->Domain ); if ( !challengeOk ) return nullptr; // Create the encrypted string according to the Basic authentication format as // follows: // a)Concatenate username and password separated by colon; // b)Apply ASCII encoding to obtain a stream of bytes; // c)Apply Base64 Encoding to this array of bytes to obtain the encoded // authorization. String^ BasicEncrypt = String::Concat( MyCreds->UserName, ":", MyCreds->Password ); String^ BasicToken = String::Concat( "Basic ", Convert::ToBase64String( ASCII->GetBytes( BasicEncrypt ) ) ); // Create an Authorization object using the above encoded authorization. Authorization^ resourceAuthorization = gcnew Authorization( BasicToken ); // Get the Message property which contains the authorization string that the // client returns to the server when accessing protected resources Console::WriteLine( "\n Authorization Message: {0}", resourceAuthorization->Message ); // Get the Complete property which is set to true when the authentication process // between the client and the server is finished. Console::WriteLine( "\n Authorization Complete: {0}", resourceAuthorization->Complete ); Console::WriteLine( "\n Authorization ConnectionGroupId: {0}", resourceAuthorization->ConnectionGroupId ); return resourceAuthorization; }
// Authenticate is the core method for this custom authentication. // When an Internet resource requests authentication, the WebRequest. // GetResponse method calls the AuthenticationManager.Authenticate method. // This method, in turn, calls the Authenticate method on each of the // registered authentication modules, in the order in which they were // registered. When the authentication is complete an Authorization object // is returned to the WebRequest. public Authorization Authenticate( String challenge, WebRequest request, ICredentials credentials) { Encoding ascii = Encoding.get_ASCII(); // Get the username and password from the credentials NetworkCredential myCreds = credentials.GetCredential( request.get_RequestUri(), "Basic"); if (PreAuthenticate(request, credentials) == null) { Console.WriteLine("\n Pre-authentication is not allowed."); } else { Console.WriteLine("\n Pre-authentication is allowed."); } // Verify that the challenge satisfies the authorization requirements. boolean challengeOk = CheckChallenge(challenge, myCreds.get_Domain()); if (!(challengeOk)) { return null; } // Create the encrypted string according to the Basic authentication // format as follows: // a)Concatenate the username and password separated by colon; // b)Apply ascii encoding to obtain a stream of bytes; // c)Apply Base64 encoding to this array of bytes to obtain the encoded // authorization. String basicEncrypt = myCreds.get_UserName() + ":" + myCreds.get_Password(); String basicToken = "Basic " + Convert.ToBase64String(ascii.GetBytes(basicEncrypt)); // Create an Authorization object using the encoded // authorization above. Authorization resourceAuthorization = new Authorization(basicToken); // Get the Message property, which contains the authorization string // that the client returns to the server when accessing protected // resources. Console.WriteLine("\n Authorization Message:{0}", resourceAuthorization.get_Message()); // Get the Complete property, which is set to true when the // authentication process between the client and the // server is finished. Console.WriteLine("\n Authorization Complete:{0}", System.Convert.ToString(resourceAuthorization.get_Complete())); Console.WriteLine("\n Authorization ConnectionGroupId:{0}", resourceAuthorization.get_ConnectionGroupId()); return resourceAuthorization; } //Authenticate

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Authorization コンストラクタ (String, Boolean, String)
アセンブリ: System (system.dll 内)

Dim token As String Dim finished As Boolean Dim connectionGroupId As String Dim instance As New Authorization(token, finished, connectionGroupId)

指定した承認メッセージ、承認の完了ステータス、および接続グループ識別子を使用して、Authorization クラスの新しいインスタンスを作成するコード例を次に示します。
Public Function Authenticate(challenge As String, request As WebRequest, credentials As ICredentials) As Authorization Implements IAuthenticationModule.Authenticate Try Dim message As String ' Check if Challenge string was raised by a site which requires CloneBasic authentication. If challenge Is Nothing Or Not challenge.StartsWith("CloneBasic") Then Return Nothing End If Dim myCredentials As NetworkCredential If TypeOf credentials Is CredentialCache Then myCredentials = credentials.GetCredential(request.RequestUri, "CloneBasic") If myCredentials Is Nothing Then Return Nothing End If Else myCredentials = CType(credentials, NetworkCredential) End If 'Message encryption scheme : ' a)Concatenate username and password seperated by space ' b)Apply ASCII encoding to obtain a stream of bytes ' c)Apply Base64 Encoding to this array of bytes to obtain our encoded authorization message message = myCredentials.UserName + " " + myCredentials.Password 'Apply AsciiEncoding to our user name and password to obtain it as an array of bytes Dim asciiEncoding As Encoding = Encoding.ASCII Dim byteArray(asciiEncoding.GetByteCount(message)) As Byte byteArray = asciiEncoding.GetBytes(message) 'Perform Base64 transform message = Convert.ToBase64String(byteArray) 'The following overloaded contructor sets the 'Message' property of authorization to the base64 string ' *that we just formed and it also sets the 'Complete' property to true and the connection group id ' *to the domain of the NetworkCredential object Dim myAuthorization As New Authorization("CloneBasic " + message, True, request.ConnectionGroupName) Return myAuthorization Catch e As Exception Console.WriteLine(("Exception Raised ...:" + e.Message)) Return Nothing End Try End Function 'Authenticate
public Authorization Authenticate( string challenge,WebRequest request,ICredentials credentials) { try { string message; // Check if Challenge string was raised by a site which requires CloneBasic authentication. if ((challenge == null) || (!challenge.StartsWith("CloneBasic"))) return null; NetworkCredential myCredentials; if (credentials is CredentialCache) { myCredentials = credentials.GetCredential(request.RequestUri,"CloneBasic"); if (myCredentials == null) return null; } else myCredentials = (NetworkCredential)credentials; // Message encryption scheme : // a)Concatenate username and password seperated by space; // b)Apply ASCII encoding to obtain a stream of bytes; // c)Apply Base64 Encoding to this array of bytes to obtain our encoded authorization message. message = myCredentials.UserName + " " + myCredentials.Password; // Apply AsciiEncoding to our user name and password to obtain it as an array of bytes. Encoding asciiEncoding = Encoding.ASCII; byte[] byteArray = new byte[asciiEncoding.GetByteCount(message)]; byteArray = asciiEncoding.GetBytes(message); // Perform Base64 transform. message = Convert.ToBase64String(byteArray); // The following overloaded contructor sets the 'Message' property of authorization to the base64 string; // that we just formed and it also sets the 'Complete' property to true and the connection group id; // to the domain of the NetworkCredential object. Authorization myAuthorization = new Authorization("CloneBasic " + message,true,request.ConnectionGroupName); return myAuthorization; } catch(Exception e) { Console.WriteLine("Exception Raised ...:"+e.Message); return null; } }
virtual Authorization^ Authenticate( String^ challenge, WebRequest^ request, ICredentials^ credentials ) { try { String^ message; // Check if Challenge String* was raised by a site which requires CloneBasic authentication. if ( (challenge == nullptr) || ( !challenge->StartsWith( "CloneBasic" )) ) return nullptr; NetworkCredential^ myCredentials; if ( dynamic_cast<CredentialCache^>(credentials) == nullptr ) { myCredentials = credentials->GetCredential( request->RequestUri, "CloneBasic" ); if ( myCredentials == nullptr ) return nullptr; } else myCredentials = dynamic_cast<NetworkCredential^>(credentials); // Message encryption scheme : // a)Concatenate username and password seperated by space; // b)Apply ASCII encoding to obtain a stream of bytes; // c)Apply Base64 Encoding to this array of bytes to obtain our encoded authorization message. message = String::Concat( myCredentials->UserName, " ", myCredentials->Password ); // Apply AsciiEncoding to our user name and password to obtain it as an array of bytes. Encoding^ asciiEncoding = Encoding::ASCII; array<Byte>^byteArray = gcnew array<Byte>(asciiEncoding->GetByteCount( message )); byteArray = asciiEncoding->GetBytes( message ); // Perform Base64 transform. message = Convert::ToBase64String( byteArray ); // The following overloaded contructor sets the 'Message' property of authorization to the base64 String*; // that we just formed and it also sets the 'Complete' property to true and the connection group id; // to the domain of the NetworkCredential Object*. Authorization^ myAuthorization = gcnew Authorization( String::Concat( "CloneBasic ", message, true, request->ConnectionGroupName ) ); return myAuthorization; } catch ( Exception^ e ) { Console::WriteLine( "Exception Raised ...: {0}", e->Message ); return nullptr; } }
public Authorization Authenticate(String challenge, WebRequest request, ICredentials credentials) { try { String message; // Check if Challenge string was raised by a site which requires // CloneBasic authentication. if (challenge == null || !(challenge.StartsWith("CloneBasic"))) { return null; } NetworkCredential myCredentials; if (credentials instanceof CredentialCache) { myCredentials = credentials.GetCredential( request.get_RequestUri(), "CloneBasic"); if (myCredentials == null) { return null; } } else { myCredentials = (NetworkCredential)credentials; } // Message encryption scheme : // a)Concatenate username and password seperated by space; // b)Apply ASCII encoding to obtain a stream of bytes; // c)Apply Base64 Encoding to this array of bytes to obtain our // encoded authorization message. message = myCredentials.get_UserName() + " " + myCredentials.get_Password(); // Apply AsciiEncoding to our user name and password to obtain it // as an array of bytes. Encoding asciiEncoding = Encoding.get_ASCII(); ubyte byteArray[] = new ubyte[asciiEncoding.GetByteCount(message)]; byteArray = asciiEncoding.GetBytes(message); // Perform Base64 transform. message = Convert.ToBase64String(byteArray); // The following overloaded contructor sets the 'Message' property // of authorization to the base64 string; // that we just formed and it also sets the 'Complete' property // to true and the connection group id to the domain // of the NetworkCredential object. Authorization myAuthorization = new Authorization("CloneBasic " + message, true, request.get_ConnectionGroupName()); return myAuthorization; } catch (System.Exception e) { Console.WriteLine("Exception Raised...:" + e.get_Message()); return null; } } //Authenticate

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Authorization コンストラクタ


Authorization コンストラクタ (String, Boolean)
アセンブリ: System (system.dll 内)



指定した承認メッセージおよび承認の完了ステータスを使用して、Authorization クラスの新しいインスタンスを作成するコード例を次に示します。
Function Authenticate(ByVal challenge As String, ByVal request As WebRequest, ByVal credentials As ICredentials) As Authorization Implements IAuthenticationModule.Authenticate Try Dim message As String ' Check if Challenge string was raised by a site which requires 'CloneBasic' authentication. If challenge Is Nothing Or Not challenge.StartsWith("CloneBasic") Then Return Nothing End If Dim myCredentials As NetworkCredential If TypeOf credentials Is CredentialCache Then myCredentials = credentials.GetCredential(request.RequestUri, "CloneBasic") If myCredentials Is Nothing Then Return Nothing End If Else myCredentials = CType(credentials, NetworkCredential) End If ' Message encryption scheme : ' a)Concatenate username and password seperated by space ' b)Apply ASCII encoding to obtain a stream of bytes ' c)Apply Base64 Encoding to this array of bytes to obtain our encoded authorization message message = myCredentials.UserName + " " + myCredentials.Password ' Apply AsciiEncoding to 'message' string to obtain it as an array of bytes. Dim ascii As Encoding = Encoding.ASCII Dim byteArray(ascii.GetByteCount(message)) As Byte byteArray = ascii.GetBytes(message) ' Performing Base64 transformation. message = Convert.ToBase64String(byteArray) Dim myAuthorization As New Authorization("CloneBasic " + message, True) Dim protectionRealm() As String = {request.RequestUri.AbsolutePath} myAuthorization.ProtectionRealm = protectionRealm Return myAuthorization Catch e As Exception Console.WriteLine("The following exception was raised in Authenticate method:{0}", e.Message) Return Nothing End Try End Function 'Authenticate
public Authorization Authenticate( string challenge,WebRequest request,ICredentials credentials) { try { string message; // Check if Challenge string was raised by a site which requires 'CloneBasic' authentication. if ((challenge == null) || (!challenge.StartsWith("CloneBasic"))) return null; NetworkCredential myCredentials; if (credentials is CredentialCache) { myCredentials = credentials.GetCredential(request.RequestUri,"CloneBasic"); if (myCredentials == null) return null; } else myCredentials = (NetworkCredential)credentials; // Message encryption scheme : // a)Concatenate username and password seperated by space; // b)Apply ASCII encoding to obtain a stream of bytes; // c)Apply Base64 Encoding to this array of bytes to obtain our encoded authorization message. message = myCredentials.UserName + " " + myCredentials.Password; // Apply AsciiEncoding to 'message' string to obtain it as an array of bytes. Encoding ascii = Encoding.ASCII; byte[] byteArray = new byte[ascii.GetByteCount(message)]; byteArray = ascii.GetBytes(message); // Performing Base64 transformation. message = Convert.ToBase64String(byteArray); Authorization myAuthorization = new Authorization("CloneBasic " + message,true); string[] protectionRealm = new string[]{request.RequestUri.AbsolutePath}; myAuthorization.ProtectionRealm = protectionRealm; return myAuthorization; } catch(Exception e) { Console.WriteLine("The following exception was raised in Authenticate method:{0}",e.Message); return null; } }
virtual Authorization^ Authenticate( String^ challenge, WebRequest^ request, ICredentials^ credentials ) { try { String^ message; // Check if Challenge String* was raised by a site which requires 'CloneBasic' authentication. if ( (challenge == nullptr) || ( !challenge->StartsWith( "CloneBasic" )) ) return nullptr; NetworkCredential^ myCredentials; if ( dynamic_cast<CredentialCache^>(credentials) == nullptr ) { myCredentials = credentials->GetCredential( request->RequestUri, "CloneBasic" ); if ( myCredentials == nullptr ) return nullptr; } else myCredentials = dynamic_cast<NetworkCredential^>(credentials); // Message encryption scheme : // a)Concatenate username and password seperated by space; // b)Apply ASCII encoding to obtain a stream of bytes; // c)Apply Base64 Encoding to this array of bytes to obtain our encoded authorization message. message = String::Concat( myCredentials->UserName, " ", myCredentials->Password ); // Apply AsciiEncoding to 'message' String* to obtain it as an array of bytes. Encoding^ ascii = Encoding::ASCII; array<Byte>^byteArray = gcnew array<Byte>(ascii->GetByteCount( message )); byteArray = ascii->GetBytes( message ); // Performing Base64 transformation. message = Convert::ToBase64String( byteArray ); Authorization^ myAuthorization = gcnew Authorization( String::Concat( "CloneBasic ", message, true ) ); array<String^>^protectionRealm = gcnew array<String^>(1); protectionRealm[ 0 ] = request->RequestUri->AbsolutePath; myAuthorization->ProtectionRealm = protectionRealm; return myAuthorization; } catch ( Exception^ e ) { Console::WriteLine( "The following exception was raised in Authenticate method: {0}", e->Message ); return nullptr; } }
public Authorization Authenticate(String challenge, WebRequest request, ICredentials credentials) { try { String message; // Check if Challenge string was raised by a site which requires // 'CloneBasic' authentication. if (challenge == null || !(challenge.StartsWith("CloneBasic"))) { return null; } NetworkCredential myCredentials; if (credentials instanceof CredentialCache) { myCredentials = credentials.GetCredential( request.get_RequestUri(), "CloneBasic"); if (myCredentials == null) { return null; } } else { myCredentials = (NetworkCredential)credentials; } // Message encryption scheme : // a)Concatenate userName and password seperated by space; // b)Apply ASCII encoding to obtain a stream of bytes; // c)Apply Base64 Encoding to this array of bytes to obtain our // encoded authorization message. message = myCredentials.get_UserName() + " " + myCredentials.get_Password(); // Apply AsciiEncoding to 'message' string to obtain it as an array // of bytes. Encoding ascii = Encoding.get_ASCII(); ubyte byteArray[] = new ubyte[ascii.GetByteCount(message)]; byteArray = ascii.GetBytes(message); // Performing Base64 transformation. message = Convert.ToBase64String(byteArray); Authorization myAuthorization = new Authorization("CloneBasic " + message, true); String protectionRealm[] = new String[] { request.get_RequestUri().get_AbsolutePath() }; myAuthorization.set_ProtectionRealm(protectionRealm); return myAuthorization; } catch (System.Exception e) { Console.WriteLine("The following exception was raised in " + "Authenticate method:{0}", e.get_Message()); return null; } } //Authenticate

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- Authorization コンストラクタのページへのリンク