Authorization コンストラクター
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Authorization クラスの新しいインスタンスを作成します。
オーバーロード
Authorization(String) |
指定した承認メッセージを使用して、Authorization クラスの新しいインスタンスを作成します。 |
Authorization(String, Boolean) |
指定した承認メッセージおよび完了ステータスを使用して、Authorization クラスの新しいインスタンスを作成します。 |
Authorization(String, Boolean, String) |
Authorization クラスの新しいインスタンスを、指定した承認メッセージ、完了ステータス、接続グループ識別子を使用して作成します。 |
Authorization(String)
- ソース:
- Authorization.cs
- ソース:
- Authorization.cs
- ソース:
- Authorization.cs
指定した承認メッセージを使用して、Authorization クラスの新しいインスタンスを作成します。
public:
Authorization(System::String ^ token);
public Authorization (string? token);
public Authorization (string token);
new System.Net.Authorization : string -> System.Net.Authorization
Public Sub New (token As String)
パラメーター
- token
- String
サーバーで予期される暗号化された承認メッセージ。
例
次のコード例は、 オブジェクトを作成する方法を Authorization 示しています。 完全な例については、 クラスを AuthenticationManager 参照してください。
// Authenticate is the core method for this custom authentication.
// When an internet resource requests authentication, the WebRequest::GetResponse
// method calls the AuthenticationManager::Authenticate method. This method, in
// turn, calls the Authenticate method on each of the registered authentication
// modules, in the order they were registered. When the authentication is
// complete an Authorization object is returned to the WebRequest, as
// shown by this routine's retun type.
virtual Authorization^ Authenticate( String^ challenge, WebRequest^ request, ICredentials^ credentials )
{
Encoding^ ASCII = Encoding::ASCII;
// Get the username and password from the credentials
NetworkCredential^ MyCreds = credentials->GetCredential( request->RequestUri, "Basic" );
if ( PreAuthenticate( request, credentials ) == nullptr )
Console::WriteLine( "\n Pre-authentication is not allowed." );
else
Console::WriteLine( "\n Pre-authentication is allowed." );
// Verify that the challenge satisfies the authorization requirements.
bool challengeOk = checkChallenge( challenge, MyCreds->Domain );
if ( !challengeOk )
return nullptr;
// Create the encrypted string according to the Basic authentication format as
// follows:
// a)Concatenate username and password separated by colon;
// b)Apply ASCII encoding to obtain a stream of bytes;
// c)Apply Base64 Encoding to this array of bytes to obtain the encoded
// authorization.
String^ BasicEncrypt = String::Concat( MyCreds->UserName, ":", MyCreds->Password );
String^ BasicToken = String::Concat( "Basic ", Convert::ToBase64String( ASCII->GetBytes( BasicEncrypt ) ) );
// Create an Authorization object using the above encoded authorization.
Authorization^ resourceAuthorization = gcnew Authorization( BasicToken );
// Get the Message property which contains the authorization string that the
// client returns to the server when accessing protected resources
Console::WriteLine( "\n Authorization Message: {0}", resourceAuthorization->Message );
// Get the Complete property which is set to true when the authentication process
// between the client and the server is finished.
Console::WriteLine( "\n Authorization Complete: {0}", resourceAuthorization->Complete );
Console::WriteLine( "\n Authorization ConnectionGroupId: {0}", resourceAuthorization->ConnectionGroupId );
return resourceAuthorization;
}
// Authenticate is the core method for this custom authentication.
// When an Internet resource requests authentication, the WebRequest.GetResponse
// method calls the AuthenticationManager.Authenticate method. This method, in
// turn, calls the Authenticate method on each of the registered authentication
// modules, in the order in which they were registered. When the authentication is
// complete an Authorization object is returned to the WebRequest.
public Authorization Authenticate(String challenge, WebRequest request, ICredentials credentials)
{
Encoding ASCII = Encoding.ASCII;
// Get the username and password from the credentials
NetworkCredential myCreds = credentials.GetCredential(request.RequestUri, "Basic");
if (PreAuthenticate(request, credentials) == null)
Console.WriteLine("\n Pre-authentication is not allowed.");
else
Console.WriteLine("\n Pre-authentication is allowed.");
// Verify that the challenge satisfies the authorization requirements.
bool challengeOk = CheckChallenge(challenge, myCreds.Domain);
if (!challengeOk)
return null;
// Create the encrypted string according to the Basic authentication format as
// follows:
// a)Concatenate the username and password separated by colon;
// b)Apply ASCII encoding to obtain a stream of bytes;
// c)Apply Base64 encoding to this array of bytes to obtain the encoded
// authorization.
string basicEncrypt = myCreds.UserName + ":" + myCreds.Password;
string basicToken = "Basic " + Convert.ToBase64String(ASCII.GetBytes(basicEncrypt));
// Create an Authorization object using the encoded authorization above.
Authorization resourceAuthorization = new Authorization(basicToken);
// Get the Message property, which contains the authorization string that the
// client returns to the server when accessing protected resources.
Console.WriteLine("\n Authorization Message:{0}",resourceAuthorization.Message);
// Get the Complete property, which is set to true when the authentication process
// between the client and the server is finished.
Console.WriteLine("\n Authorization Complete:{0}",resourceAuthorization.Complete);
Console.WriteLine("\n Authorization ConnectionGroupId:{0}",resourceAuthorization.ConnectionGroupId);
return resourceAuthorization;
}
' Authenticate is the core method for this custom authentication.
' When an Internet resource requests authentication, the WebRequest.GetResponse
' method calls the AuthenticationManager.Authenticate method. This method, in
' turn, calls the Authenticate method on each of the registered authentication
' modules, in the order in which they were registered. When the authentication is
' complete an Authorization object is returned to the WebRequest.
Public Function Authenticate(ByVal challenge As String, ByVal request As WebRequest, ByVal credentials As ICredentials) As Authorization _
Implements IAuthenticationModule.Authenticate
Dim ASCII As Encoding = Encoding.ASCII
' Get the username and password from the credentials
Dim MyCreds As NetworkCredential = credentials.GetCredential(request.RequestUri, "Basic")
If PreAuthenticate(request, credentials) Is Nothing Then
Console.WriteLine(ControlChars.Lf + " Pre-authentication is not allowed.")
Else
Console.WriteLine(ControlChars.Lf + " Pre-authentication is allowed.")
End If
' Verify that the challenge satisfies the authorization requirements.
Dim challengeOk As Boolean = checkChallenge(challenge, MyCreds.Domain)
If Not challengeOk Then
Return Nothing
End If
' Create the encrypted string according to the Basic authentication format as
' follows:
' a)Concatenate the username and password separated by colon;
' b)Apply ASCII encoding to obtain a stream of bytes;
' c)Apply Base64 encoding to this array of bytes to obtain the encoded
' authorization.
Dim BasicEncrypt As String = MyCreds.UserName + ":" + MyCreds.Password
Dim BasicToken As String = "Basic " + Convert.ToBase64String(ASCII.GetBytes(BasicEncrypt))
' Create an Authorization object using the encoded authorization above.
Dim resourceAuthorization As New Authorization(BasicToken)
' Get the Message property, which contains the authorization string that the
' client returns to the server when accessing protected resources.
Console.WriteLine(ControlChars.Lf + " Authorization Message:{0}", resourceAuthorization.Message)
' Get the Complete property, which is set to true when the authentication process
' between the client and the server is finished.
Console.WriteLine(ControlChars.Lf + " Authorization Complete:{0}", resourceAuthorization.Complete)
Console.WriteLine(ControlChars.Lf + " Authorization ConnectionGroupId:{0}", resourceAuthorization.ConnectionGroupId)
Return resourceAuthorization
End Function 'Authenticate
End Class
注釈
インスタンスはAuthorization、 プロパティを にMessage設定し、 プロパティを Complete にtoken
設定してtrue
作成されます。
適用対象
Authorization(String, Boolean)
- ソース:
- Authorization.cs
- ソース:
- Authorization.cs
- ソース:
- Authorization.cs
指定した承認メッセージおよび完了ステータスを使用して、Authorization クラスの新しいインスタンスを作成します。
public:
Authorization(System::String ^ token, bool finished);
public Authorization (string? token, bool finished);
public Authorization (string token, bool finished);
new System.Net.Authorization : string * bool -> System.Net.Authorization
Public Sub New (token As String, finished As Boolean)
パラメーター
- token
- String
サーバーで予期される暗号化された承認メッセージ。
- finished
- Boolean
承認試行の完了ステータス。 承認試行が完了した場合は true
、それ以外の場合は false
です。
例
次のコード例では、指定した承認メッセージと完了状態を Authorization 持つ クラスの新しいインスタンスを作成します。
virtual 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 == 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;
}
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, " ", 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;
}
}
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 'message' string to obtain it as an array of bytes.
Encoding ascii = Encoding.ASCII;
byte[] byteArray = new byte[ascii.GetByteCount(message)];
byteArray = ascii.GetBytes(message);
// Performing Base64 transformation.
message = Convert.ToBase64String(byteArray);
Authorization myAuthorization = new Authorization("CloneBasic " + message,true);
string[] protectionRealm = new string[]{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 null;
}
}
Function Authenticate(ByVal challenge As String, ByVal request As WebRequest, ByVal 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 'message' string to obtain it as an array of bytes.
Dim ascii As Encoding = Encoding.ASCII
Dim byteArray(ascii.GetByteCount(message)) As Byte
byteArray = ascii.GetBytes(message)
' Performing Base64 transformation.
message = Convert.ToBase64String(byteArray)
Dim myAuthorization As New Authorization("CloneBasic " + message, True)
Dim protectionRealm() As String = {request.RequestUri.AbsolutePath}
myAuthorization.ProtectionRealm = protectionRealm
Return myAuthorization
Catch e As Exception
Console.WriteLine("The following exception was raised in Authenticate method:{0}", e.Message)
Return Nothing
End Try
End Function 'Authenticate
注釈
インスタンスはAuthorization、 プロパティを にMessage設定し、 プロパティを Complete にtoken
設定してfinished
作成されます。
適用対象
Authorization(String, Boolean, String)
- ソース:
- Authorization.cs
- ソース:
- Authorization.cs
- ソース:
- Authorization.cs
Authorization クラスの新しいインスタンスを、指定した承認メッセージ、完了ステータス、接続グループ識別子を使用して作成します。
public:
Authorization(System::String ^ token, bool finished, System::String ^ connectionGroupId);
public Authorization (string? token, bool finished, string? connectionGroupId);
public Authorization (string token, bool finished, string connectionGroupId);
new System.Net.Authorization : string * bool * string -> System.Net.Authorization
Public Sub New (token As String, finished As Boolean, connectionGroupId As String)
パラメーター
- token
- String
サーバーで予期される暗号化された承認メッセージ。
- finished
- Boolean
承認試行の完了ステータス。 承認試行が完了した場合は true
、それ以外の場合は false
です。
- connectionGroupId
- String
この承認方式のみにバインドされるプライベート クライアント サーバー接続を作成するために使用できる一意識別子。
例
次のコード例では、指定した承認メッセージ、完了状態、接続グループ識別子を使用して、 クラスの Authorization 新しいインスタンスを作成します。
virtual 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 == 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;
}
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, " ", 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;
}
}
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;
}
}
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
適用対象
.NET