This section describes where to customize the authentication plugin in the Sybase CEP Server configuration file, and provides a sample configuration section.
The authentication plugin is declared in the SybaseC8/Security/AccessControl/Authentication/Plugin section of the Sybase CEP Server configuration file named c8-server.conf. Below is a sample configuration section. You can customize the actual names of the library file and the three functions, all of which are boldfaced in the listing below.
<section name="AccessControl"> ... <section name="Authentication"> <!-- Sample authentication plugin configuration --> <section name="Plugin"> <preference name="LibraryName" value=" c8authplugin_demo_lib "/> <preference name="InitializeFunction" value=" c8authplugin_demo_initialize "/> <preference name="AuthenticateFunction" value=" c8authplugin_demo_authenticate "/> <preference name="ShutdownFunction" value=" c8authplugin_demo_shutdown "/> </section> </section> </section>
Custom configuration parameters can be passed to a plugin by specifying a preference with any name in the SybaseC8/Security/AccessControl/Authentication/Plugin section of the server configuration file named c8-server.conf. For example, in the htpasswd plugin provided by Sybase CEP, the paths and names of the htpasswd and htgroup files are specified this way. A generic example is shown below:
<section name="AccessControl"> ... <section name="Authentication"> ... <section name="Plugin"> ... <preference name="MyPreference" value="MyValue"/> </section> </section> </section>
You can then call the following function to read the preference:
/** * Gets specified preference from server config file. * The caller is responsible for de-allocating the returned value. * * @param pref - name of preference to read * (under SybaseC8/Security/AccessControl/Authentication/) * @param def_val - default value to return if preference is not present * @return - string value of preference (copy of default if not present). */ C8Char* C8AuthPluginGetPreference (C8AuthPlugin *plugPtr, const C8Char *pref, const C8Char *def_val);
For example, to read the "MyPreference" preference above, one would call:
C8Char *pref = C8AuthPluginGetPreference(plugPtr, "MyPreference", "default");