This documentation is archived and is not being maintained.

Authorization Constructor (String, Boolean, String)

.NET Framework 1.1

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

[Visual Basic]
Public Sub New( _
   ByVal token As String, _
   ByVal finished As Boolean, _
   ByVal connectionGroupId As String _
)
[C#]
public Authorization(
   string token,
 bool finished,
 string connectionGroupId
);
[C++]
public: Authorization(
   String* token,
 bool finished,
 String* connectionGroupId
);
[JScript]
public function Authorization(
   token : String,
 finished : Boolean,
 connectionGroupId : String
);

Parameters

token
The encrypted authorization message expected by the server .
finished
The completion status of the authorization attempt. true if the authorization attempt is complete; otherwise, false.
connectionGroupId
A unique identifier that can be used to create private Client-Server connections, that would only be bound to this authentication scheme.

Example

[Visual Basic, C#, C++] The following example creates a new instance of the Authorization class with the specified authorization message, completion status, and connection group identifier.

[Visual Basic] 
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

[C#] 
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;
    }
  }


[C++] 
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;
   }
}

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, Common Language Infrastructure (CLI) Standard

See Also

Authorization Class | Authorization Members | System.Net Namespace | Authorization Constructor Overload List

Show: