Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Authorization Constructor (String, Boolean)

Creates a new instance of the Authorization class with the specified authorization message and completion status.

Namespace:  System.Net
Assembly:  System (in System.dll)

	String^ token, 
	bool finished


Type: System::String

The encrypted authorization message expected by the server.

Type: System::Boolean

The completion status of the authorization attempt. true if the authorization attempt is complete; otherwise, false.

The Authorization instance is created with the Message property set to token and the Complete property set to finished.

The following code example creates a new instance of the Authorization class with the specified authorization message and completion status.

virtual Authorization^ Authenticate( String^ challenge, WebRequest^ request, ICredentials^ credentials )
      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;
               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;

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
© 2015 Microsoft