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, String)

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

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

	String^ token, 
	bool finished, 
	String^ connectionGroupId


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.

Type: System::String

A unique identifier that can be used to create private client-server connections that are bound only to this authentication scheme.

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

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 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;

.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