Export (0) Print
Expand All

Authorization Constructor

.NET Framework 1.1

Creates a new instance of the Authorization class.

Overload List

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

Supported by the .NET Compact Framework.

[Visual Basic] Public Sub New(String)
[C#] public Authorization(string);
[C++] public: Authorization(String*);
[JScript] public function Authorization(String);

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

Supported by the .NET Compact Framework.

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

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

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

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, C#, C++] Note   This example shows how to use one of the overloaded versions of the Authorization constructor. For other examples that might be available, see the individual overload topics.
[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.

See Also

Authorization Class | Authorization Members | System.Net Namespace

Show:
© 2014 Microsoft