authorizationとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > デジタル大辞泉 > authorizationの意味・解説 

オーソリゼーション【authorization】

読み方:おーそりぜーしょん

《「オーソライゼーション」とも》

権限与えること。許可公認

クレジットカード加盟店が、カード発行会社に対して与信枠カード有効性などを確認すること。信用承認信用照会


Authorization クラス

インターネット サーバー認証メッセージ格納します

名前空間: System.Net
アセンブリ: System (system.dll 内)
構文構文

Dim instance As Authorization
public class Authorization
public ref class Authorization
public class Authorization
public class Authorization
解説解説

AuthenticationManager は、認証メッセージ格納する Authorization クラスインスタンス返します。このメッセージは、クライアント (WebRequest またはその派生クラス1 つなど) がサーバーへのアクセス承認されていることを示すためにインターネット サーバー送信されます。

Authorization インスタンスは、AuthenticationManager要求処理するために指定する認証モジュールによって作成されます。

継承階層継承階層
System.Object
  System.Net.Authorization
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Authorization メンバ
System.Net 名前空間
IAuthenticationModule

Authorization コンストラクタ (String)

Authorization クラス新しインスタンスを、指定した承認メッセージ使用して作成します

名前空間: System.Net
アセンブリ: System (system.dll 内)
構文構文

解説解説
使用例使用例

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 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 'CustomBasic 
// 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 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.get_ASCII();

    // Get the username and password from the credentials
    NetworkCredential myCreds = credentials.GetCredential(
                                request.get_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.
    boolean challengeOk = CheckChallenge(challenge, myCreds.get_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.get_UserName() + ":" 
        + myCreds.get_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.get_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}", 
        System.Convert.ToString(resourceAuthorization.get_Complete()));

    Console.WriteLine("\n Authorization ConnectionGroupId:{0}", 
        resourceAuthorization.get_ConnectionGroupId());
    return resourceAuthorization;
} //Authenticate
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Authorization コンストラクタ (String, Boolean, String)

Authorization クラス新しインスタンスを、指定した承認メッセージ承認完了ステータス、および接続グループ識別子使用して作成します

名前空間: System.Net
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    token As String, _
    finished As Boolean, _
    connectionGroupId As String _
)
Dim token As String
Dim finished As Boolean
Dim connectionGroupId As String

Dim instance As New Authorization(token,
 finished, connectionGroupId)
public Authorization (
    string token,
    bool finished,
    string connectionGroupId
)
public:
Authorization (
    String^ token, 
    bool finished, 
    String^ connectionGroupId
)
public Authorization (
    String token, 
    boolean finished, 
    String connectionGroupId
)
public function Authorization (
    token : String, 
    finished : boolean, 
    connectionGroupId : String
)

パラメータ

token

サーバー受信する暗号化された承認メッセージ

finished

承認試行完了ステータス承認試行完了した場合trueそれ以外場合false

connectionGroupId

この承認方式だけにバインドされるプライベート クライアント サーバー接続作成するために使用できる一意識別子

使用例使用例

指定した承認メッセージ承認完了ステータス、および接続グループ識別子使用してAuthorization クラス新しインスタンス作成するコード例次に示します

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

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 instanceof CredentialCache) {
            myCredentials = credentials.GetCredential(
                request.get_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.get_UserName() + " " 
            + myCredentials.get_Password();

        // Apply AsciiEncoding to our user name and password to obtain
 it 
        // as an array of bytes.
        Encoding asciiEncoding = Encoding.get_ASCII();
        ubyte byteArray[] = new ubyte[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.get_ConnectionGroupName());

        return myAuthorization;
    }
    catch (System.Exception e) {
        Console.WriteLine("Exception Raised...:" + e.get_Message());
        return null;
    }
} //Authenticate

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Authorization コンストラクタ


Authorization コンストラクタ (String, Boolean)

Authorization クラス新しインスタンスを、指定した承認メッセージおよび承認完了ステータス使用して作成します

名前空間: System.Net
アセンブリ: System (system.dll 内)
構文構文

Public Sub New ( _
    token As String, _
    finished As Boolean _
)
Dim token As String
Dim finished As Boolean

Dim instance As New Authorization(token,
 finished)
public Authorization (
    string token,
    bool finished
)
public:
Authorization (
    String^ token, 
    bool finished
)
public Authorization (
    String token, 
    boolean finished
)
public function Authorization (
    token : String, 
    finished : boolean
)

パラメータ

token

サーバー受信する暗号化された承認メッセージ

finished

承認試行完了ステータス承認試行完了した場合trueそれ以外場合false

解説解説
使用例使用例

指定した承認メッセージおよび承認完了ステータス使用してAuthorization クラス新しインスタンス作成するコード例次に示します

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

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;
    }
  }
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 instanceof CredentialCache) {
            myCredentials = credentials.GetCredential(
                request.get_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.get_UserName() + " " 
            + myCredentials.get_Password();

        // Apply AsciiEncoding to 'message' string to obtain it as an
 array
        // of bytes.
        Encoding ascii = Encoding.get_ASCII();
        ubyte byteArray[] = new ubyte[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.get_RequestUri().get_AbsolutePath() };
        myAuthorization.set_ProtectionRealm(protectionRealm);
        return myAuthorization;
    }
    catch (System.Exception e) {
        Console.WriteLine("The following exception was raised in
 "
            + "Authenticate method:{0}", e.get_Message());
        return null;
    }
} //Authenticate
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

Authorization プロパティ


パブリック プロパティパブリック プロパティ

参照参照

関連項目

Authorization クラス
System.Net 名前空間
IAuthenticationModule

Authorization メソッド


Authorization メンバ

インターネット サーバー認証メッセージ格納します

Authorization データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

Authorization クラス
System.Net 名前空間
IAuthenticationModule

認可 (セキュリティ)

(authorization から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/01/27 06:44 UTC 版)

認可(にんか、: authorization, AuthZ)はある者に付与された、リソースへのアクセス許可である[1]許可(きょか、: permission)、権限(けんげん、: privilege)、アクセス権(あくせすけん、: access right)とも呼ばれる[2][3]

また、「認可を付与するプロセス」を「認可」と呼ぶ場合もある[1]。明示的に使い分ける場合、認可を付与することを「認可する(にんかする、: authorize / : grant an authorization)」と言う[4]

概要

コンピュータシステムやネットワークにおけるアクセス制御はアクセスポリシーに基づいている。 アクセス制御処理は2段階に分けられ、第1段階は「ポリシー定義段階」、第2段階は「ポリシー施行段階」である。認可はポリシー定義段階の機能であり、その後ポリシー施行段階で事前に定義された認可に基づき、アクセス要求を受け入れるか拒否するかを決定する。

例えば、人事部門のスタッフは従業員の記録にアクセスする権限を与えられており、このポリシーはコンピュータシステム内のアクセス制御規則として定式化されているのが普通である。システムはそのアクセス制御規則を使って、(認証された)利用者のアクセス要求を受け入れるか拒否するかを決定する。リソースには、個々のファイルやアイテムのデータプログラム、コンピュータハードウェアコンピュータアプリケーションが提供する機能が含まれる。利用者とは例えば、コンピュータユーザー、プログラム、コンピュータ上のその他の機器を指す。

最近のマルチユーザー型オペレーティングシステムの多くはアクセス制御を行っており、したがって認可に基づいて動作している。アクセス制御は利用者のアイデンティティの検証に認証を利用する。利用者がリソースにアクセスしようとしたとき、アクセス制御処理でその利用者がそのリソースの使用を認可されているかを調べる。認可は、アプリケーションの領域では部門の長など責任者 (authority) が決定するものだが、システムアドミニストレータなどの管理者にその権限が委託されていることが多い。認可はアクセスポリシーとして表現され、それは例えばアクセス制御リストcapabilityの形をとり、「最小権限の原則」を基礎とする。「最小権限の原則」とは、利用者は自身の仕事に必要な場合だけアクセスを認可される、というものである。古いオペレーティングシステムや単一ユーザーのオペレーティングシステムでは認可の概念が弱いか全く存在せず、アクセス制御システムも同様のことが多い。

「無名の利用者」または「ゲスト」とは、認証を必要としない利用者であり、権限も限られていることが多い。分散システムでは、一意なアイデンティティを要求せずにアクセスを認めることが多い。例えば、鍵やチケットなどのアクセストークンが例として挙げられる。鍵やチケットを持っていれば、アイデンティティを証明しなくともアクセスを許可される。

信頼された (trusted) 利用者とは認証された利用者であり、リソースへの無制限のアクセス権限(認可)を与えられていることが多い。部分的に信頼された利用者やゲストは、不正なアクセスや使用を防ぐため、アクセス権限(認可)が制限されていることが多い。一部のオペレーティングシステムのアクセスポリシーでは、デフォルトで全利用者に全てのリソースへの完全なアクセスを許している。もちろん多くの場合は逆で、管理者が個々の利用者に対して個々のリソースの使用を明示的に認可する必要がある。

認可とアクセス制御リストの組み合わせを通してアクセスを制御するとしても、認可データの保守は容易ではなく、管理業務の大きな負担となっている。ユーザーへの認可を変更したり取り消したりする必要はよく生じる。その場合、システム上の対応するアクセス規則を変更したり消去したりする。従来のシステム毎の認可管理の代替として、信頼できる第三者が認可情報を安全に配布する en:Atomic Authorization もある。

認可クレデンシャル

認可クレデンシャル(にんかくれでんしゃる、: authorization credential)はアクセス時の認可検証に利用される、認可を表現した可搬なデータオブジェクトである[5]

日常における「許可証」とよく似た概念である。目に見えない「権利」を「証書」という有形物に記すことで、証書の検証により権利の存在を確認できる。アクセス制御では、目に見えない「認可」を「認可クレデンシャル」というデータオブジェクトに対応づけて認可検証を可能にしている。ゆえに保護リソースへのアクセス時、認可クレデンシャルを提示してこれが正当だと検証(verify)されれば「適切な認可がある」としてアクセス制御を通過できる[5]

OAuth 2.0 におけるアクセストークンが認可クレデンシャルの一例として挙げられる[6]

混同

認可という用語は、間違ってポリシー施行段階の機能として使われることが多い。この混同はシスコシステムズのAAAサーバの導入に遡る。例えば RFC 2904 [7]や Cisco AAA[8] で混同されている。認可 (authorization) の正しい基本的意味は、これらの用法と互換ではない。例えば、セキュリティサービスの基本的な機密性、完全性 (integrity)、可用性は、認可を使って定義される[9]。「機密性」は国際標準化機構 (ISO) の定義によれば「その情報に対してアクセスを認可された者のみがアクセス可能であることを保証すること」であり、明らかにここでの「認可」はポリシー定義段階の機能である。この機密性の定義を「その情報に対してアクセスを要求されたとき、許可された者にのみアクセス可能であることを保証すること」と解釈するのは不合理で、例えば許可されていない者がパスワードを盗んでアクセスした場合、「認可された」ことになってしまう。ログオン画面で「認可されたユーザーのみがこのシステムにアクセスできる」というような警告を表示することがよくある(例えば、こちら[10])。認可という用語を間違った意味で使っていると、この警告に対して盗んだパスワードを持つ攻撃者が「認可されているからログオンできたのだ」と主張することを許すことになり、警告を無効にすることになる。

認可という言葉を両方の意味(ポリシー定義段階とポリシー施行段階)で同じ文書内で使っている例もよくある(例えば、こちら[11])。

認可の概念を正しく使っている例としては、Karp (2006)[12]や Jøsang et al. (2006)[13]がある。

関連項目

脚注・出典

  1. ^ a b "$ authorization 1a. (I) An approval that is granted to a system entity to access a system resource. ... 1b. (I) A process for granting approval to a system entity to access a system resource." RFC4949 より引用
  2. ^ "$ authorization ... Compare: permission, privilege. ... Some synonyms are "permission" and "privilege"." RFC4949 より引用
  3. ^ "$ access right (I) Synonym for "authorization"; emphasizes the possession of the authorization by a system entity." RFC4949 より引用
  4. ^ "$ authorize (I) Grant an authorization to a system entity." RFC4949 より引用
  5. ^ a b ""authorization credential": A data object that is a portable representation of the association between an identifier and one or more access authorizations, and that can be presented for use in verifying those authorizations for an entity that attempts such access." RFC4949 より引用
  6. ^ "1.4.  Access Token Access tokens are credentials used to access protected resources." RFC6749 より引用
  7. ^ J. Vollbrecht et al. AAA Authorization Framework. IETF, 2000 txt.
  8. ^ B.J. Caroll. Cisco Access Control Security: AAA Administration Services. Cisco Press, 2004
  9. ^ ISO 7498-2 Information Processing Systems - Open Systems Interconnection - Basic Reference Model - Part 2: Security Architecture. ISO/IEC 1989
  10. ^ Access Warning Statements, University of California, Berkeley [1]
  11. ^ Understanding SOA Security Design and Implementation. IBM Redbook 2007 PDF
  12. ^ A. H. Karp. Authorization-Based Access Control for the Services Oriented Architecture. Proceedings of the Fourth International Conference on Creating, Connecting, and Collaborating through Computing (C5), 26-27 January 2006, Berkeley, CA, USA.PDF
  13. ^ A. Jøsang, D. Gollmann, R. Au. A Method for Access Authorisation Through Delegation Networks. Proceedings of the Australasian Information Security Workshop (AISW'06), Hobart, January 2006. PDF

Authorization

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/07 20:16 UTC 版)

Hypertext Transfer Protocol」の記事における「Authorization」の解説

サーバ対すクライアント自身認証を行うことが出来る。

※この「Authorization」の解説は、「Hypertext Transfer Protocol」の解説の一部です。
「Authorization」を含む「Hypertext Transfer Protocol」の記事については、「Hypertext Transfer Protocol」の概要を参照ください。

ウィキペディア小見出し辞書の「authorization」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「authorization」の関連用語

authorizationのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



authorizationのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
JMCJMC
2024 (C) JMC Corpyright All Rights Reserved
株式会社ジェイエムシー情報セキュリティ用語集
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの認可 (セキュリティ) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのHypertext Transfer Protocol (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS