⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sl3authorization.idl

📁 MICO2.3.13 corba 环境平台
💻 IDL
字号:
//tabstop=4//***********************************************************************// ORBAsec SL3                                                     // ----------------------------------------------------------------------// Copyright (C) 2001 Adiron, LLC.                                 //                    All rights reserved.                         // ----------------------------------------------------------------------// $Id$//***********************************************************************//// Marked modifications Copyright (C) 2004 ObjectSecurity Ltd.//#ifndef _SL3Authorization_IDL_#define _SL3Authorization_IDL_//#include <mico/security/securitylevel3.idl>#include <mico/security/sl3pm.idl>#include <mico/security/csi.idl>#pragma prefix "adiron.com"/** * This module contains structures and an interface for * dealing with accepting CSIv2 Authorization Tokens and  * processing them into its principals, statements, and * restricted resources for the ORBAsec SL3 * SecurityLevel3 Framework. * <p> * An application writer will create an object of the  * <a href="SL3Authorization.TokenProcessor.html">TokenProcessor</a> * interface  and place it is credentials using the  * <a href="SL3CSI.CSIAQBuilder.html#addATLASObject">CSIAQBuilder.addATLASObject</a> * operation. */module SL3Authorization {        /**     * This structure is returned from     * <a href="#accept_token">TokenProcessor.accept_token</a>     * operation. An implementer of the TokenProcessor interface must construct     * the proper principals, the statements, and the restricted      * resources from the information the implementor receives.     */     struct AuthorizationInfo {        SL3PM::Principal        the_principal;        SL3PM::StatementList    the_statements;        SL3PM::ResourceNameList the_resources;    };        /**     * The implementor of the      * <a href="#accept_token">TokenProcessor.accept_token</a>     * operation will raise this exception to trigger a CSIv2     * InvalidEvidence Error message back to the client.     */    exception InvalidEvidence {        unsigned long minor;    };        /**     * The implementor of the      * <a href="#accept_token">TokenProcessor.accept_token</a>     * operation will raise this exception to trigger a CSIv2     * InvalidMechanism Error message back to the client.     */    exception InvalidMechanism {        unsigned long minor;    };        /**     * The TokenProcessor interface of this module is one part needed     * to use ATLAS effectively. The TokenProcessor is implemented by     * an object that processes     * <a href="CSI.html#AuthorizationToken">CSIv2 AuthorizationToken</a>.     * It gets called on by the Security Service when a CSIv2 Authorization     * Token is received from a client.     * <p>     * An application writer will create an object of the      * <a href="SL3Authorization.TokenProcessor.html">TokenProcessor</a>     * interface  and place it is credentials using the      * <a href="SL3CSI.CSIArgBuilder.html#addATLASObject">CSIArgBuilder.addATLASObject</a>     * operation.     */    local interface TokenProcessor {        /**         * This operation returns true if this processor can handle         * and successfully process authorization information that         * may authorize the target to speak on behalf of the client.         * This function aids in the Security Service's construction of         * the IOR.         */        boolean supports_endorsement_by_client();        /**         * This operation returns true if this processor requires         * such authorization information that         * will authorize the target to speak on behalf of the client.         * This function aids in the Security Service's construction of         * the IOR.         */        boolean requires_endorsement_by_client();                /**         * This operation is called by the Security Service every time         * a new CSIv2 context is established. It is up to this          * objects operation to verify and compose all information         * from the information given. The arguments are as follows:         * <p>         * <dl>         * <dt>transport_principal         * <dd>This is the possibly compound principal that presents         *     the client as he may have authenticated at the transport         *     layer. This principal is lifted directly from the         *     <a href="TransportSecurity.ClientCredentials.html#client_principal">         *     TransportSecurity.ClientCredentials.client_principal</a>.         * <dt>transport_statements         * <dd>Any statements that support the transport principal.         *     This list is lifted directly from the         *     <a href="TransportSecurity.ClientCredentials.html#client_supporting_statements">         *     TransportSecurity.ClientCredentials.client_supporting_statements</a>.         * <dt>client_auth_principal         * <dd>This is the simple principal that presents         *     the client as he may have authenticated at the CSIv2 Authentication         *     layer. If no authentication token was delivered the value of         *     this argument will be null.         * <dt>client_auth_statement         * <dd>The IdentityStatement that supports the client authentication principal.         *     If the principal is null, this statement will be null as well.         * <dt>identity_assert_principal         * <dd>This is the possibly compound principal that presents         *     the client says for who he is making the request.         * <dt>identity_assert_statements         * <dd>Any statements that support the identity assertion principal.         * <dt>auth_token         * <dd>This argument is the authorization token, which contains         *     a list of tagged encodings.         * <dt>auth_info         * <dt>This argument is the return value.         * </dl>         */	// begin of ObjectSecurity change	// change from passing AuthorizationInfo as an out parameter	// to return it as it is more usuall practise        AuthorizationInfo accept_token(            /** The principal of the client's transport */            in SL3PM::Principal         transport_principal,            in SL3PM::StatementList     transport_statements,            in SL3PM::ResourceNameList  transport_resources,            in SL3PM::SimplePrincipal   client_auth_principal,            in SL3PM::IdentityStatement client_auth_statement,            in SL3PM::Principal         identity_assert_principal,            in SL3PM::StatementList     identity_assert_statements,            in CSI::AuthorizationToken           auth_token        ) raises (            InvalidEvidence,            InvalidMechanism        );	// end of ObjectSecurity change	// begin of ObjectSecurity addition	// this operation is needed to find the appropriate	// TokenProcessor on client side to handle authorization token(s)	// returned by ATLAS	// Note that we need to support registering multiple token processors	// on the client side	CSI::AuthorizationElementType accept_token_type();	// end of ObjectSecurity addition    };};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -