sec_login_set_context(3sec)
Creates network credentials for a login context
Synopsis
#include <dce/sec_login.h> void sec_login_set_context( sec_login_handle_t login_context,
error_status_t *status);
Parameters
Input
login_context An opaque handle to login context data. The login context contains, among other data, the account principal name and UUID, account restrictions, records of group
membership, and the process home directory. (See sec_intro(3sec) for more details about the login context.)
Output
status A pointer to the completion status. On successful completion, the routine returns error_status_ok. Otherwise, it returns an error.
Description The sec_login_set_context( ) routine sets the network credentials to those specified by the login context. This context must have been previously
validated. Contexts acquired through sec_login_get_current_context( ) or sec_login_newgroups( ) do not need to be validated since those routines return previously validated
contexts.
Files
/usr/include/dce/sec_login.idl The idl file from which dce/sec_login.h was derived.
Errors
The following describes a partial list of errors that might be returned. Refer to the OSF DCE Problem Determination Guide for complete descriptions of all error messages.
sec_login_s_context_invalid The login context itself is invalid.
sec_login_s_default_use Illegal use of the default login handle occurred.
sec_login_s_auth_local
Operation not valid on local context.
error_status_ok The call was successful.
Examples The following example illustrates use of the sec_login_set_context( ) routine as part of a straightforward login process:
if (sec_login_setup_identity(user_name, sec_login_no_flags, &login_context, &st)) { ... get password from user...
if (sec_login_validate_identity(login_context, password, &reset_passwd, &auth_src, &st)) { if
(!sec_login_certify_identity(login_context, &st)) exit(error_weird_auth_svc); sec_login_set_context(login_context, &st);
if (auth_src != sec_login_auth_src_network)
printf("no network credentials"); if (reset_passwd) { ... get new password from user, reset registry record ... };
sec_login_get_pwent(login_context, &pw_entry, &st); if (pw_entry.pw_expire < todays_date) {
sec_login_purge_context(&login_context, &st); exit(0) } ... any other application specific login valid actions ...
} } else { sec_login_purge_context(&login_context, &st); ... application specific login failure
actions ... } }
Related Information Functions:
sec_intro(3sec)
sec_login_setup_identity(3sec)
sec_login_validate_identity(3sec)
|