Oracle Coherence for C++ API
Release 3.6.1.0

E18813-01

coherence/security/IdentityTransformer.hpp

00001 /*
00002 * IdentityTransformer.hpp
00003 *
00004 * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
00005 *
00006 * Oracle is a registered trademarks of Oracle Corporation and/or its
00007 * affiliates.
00008 *
00009 * This software is the confidential and proprietary information of Oracle
00010 * Corporation. You shall not disclose such confidential and proprietary
00011 * information and shall use it only in accordance with the terms of the
00012 * license agreement you entered into with Oracle.
00013 *
00014 * This notice may not be removed or altered.
00015 */
00016 #ifndef COH_IDENTITY_TRANSFORMER_HPP
00017 #define COH_IDENTITY_TRANSFORMER_HPP
00018 
00019 #include "coherence/lang.ns"
00020 
00021 #include "coherence/security/auth/Subject.hpp"
00022 
00023 COH_OPEN_NAMESPACE2(coherence,security)
00024 
00025 
00026 /**
00027 * IdentityTransformer transforms a Subject to a token that asserts identity.
00028 *
00029 * @author dag  2009.12.04
00030 *
00031 * @since Coherence 3.6
00032 */
00033 class COH_EXPORT IdentityTransformer
00034     : public interface_spec<IdentityTransformer>
00035     {
00036     // ----- IdentityTransformer interface ----------------------------------
00037 
00038     public:
00039         /**
00040         * Transform a Subject to a token that asserts an identity.
00041         *
00042         * @param vSubject  the Subject representing a user.
00043         *
00044         * @return the token that asserts identity.
00045         *
00046         * @throws SecurityException if the identity transformation fails.
00047         */
00048         virtual Object::View transformIdentity(Subject::View vSubject) const = 0;
00049     };
00050 
00051 COH_CLOSE_NAMESPACE2
00052 
00053 #endif // COH_IDENTITY_TRANSFORMER_HPP
Copyright © 2000, 2010, Oracle and/or its affiliates. All rights reserved.