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)

public Authorization(
	string token,
	bool finished,
	string connectionGroupId
)

Parameters

token
Type: System.String

The encrypted authorization message expected by the server.

finished
Type: System.Boolean

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

connectionGroupId
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.

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;
    }
  }
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 == 0) || (!challenge->StartsWith(S"CloneBasic")))
         return 0;
      NetworkCredential* myCredentials;
      if (dynamic_cast<CredentialCache*>(credentials) == 0)
      {
         myCredentials = credentials->GetCredential(request->RequestUri, S"CloneBasic");
         if (myCredentials == 0)
            return 0;
      } 
      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, S" ", 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(String::Concat(S"CloneBasic ", message, __box(true), request->ConnectionGroupName));
      return myAuthorization;
   } 
   catch (Exception* e) 
   {
      Console::WriteLine(S"Exception Raised ...: {0}", e->Message);
      return 0;
   }
}

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 3.5, 2.0

Community Additions

ADD
Show:
© 2014 Microsoft