Top | ![]() |
![]() |
![]() |
![]() |
The SignonSecurityContext represents a security context within system and also within application. Security contexts are used:
within identities to specify the owner of the identity, and users of the identity (items on the access control list). See SignonIdentity.
by gSSO daemon to identify the application accessing the gSSO service and to determine if the application is an identity's owner, or is on the identity's access control list, and make access control decisions accordingly.
SignonSecurityContext contains two strings: a system context and an application context.
System context can be a binary path, SMACK-label, or MSSF token. Specific interpretation of the system context value is performed by a gSSO extension module. The default gSSO extension expects binary paths.
Application context identifies a script or a webpage within an application, and it's used for providing access control to runtime environments (when making an access control decision requires not only a binary identifier, but also information about what the binary is doing).
System context and application context can contain a wildcard operator "*" to match 'any', while "" matches 'none' when a default gSSO extension is used. The system context is always evaluated first and if a match is found, only then the application context is evaluated. Check the documentation of a platform specific extension to determine any particular match rules used by a custom ACM (Access Control Manager).
SignonSecurityContext * signon_security_context_new ();
Allocates a new security context item.
SignonSecurityContext * signon_security_context_new_from_values (const gchar *system_context
,const gchar *application_context
);
Allocates and initializes a new security context item.
void
signon_security_context_free (SignonSecurityContext *ctx
);
Frees a security context item.
SignonSecurityContext *
signon_security_context_copy (const SignonSecurityContext *src_ctx
);
Copy a security context item.
void signon_security_context_set_system_context (SignonSecurityContext *ctx
,const gchar *system_context
);
Sets the system context part (such as SMACK label or MSSF token) of the SignonSecurityContext.
const gchar *
signon_security_context_get_system_context
(const SignonSecurityContext *ctx
);
Get the system context part (such as SMACK label or MSSF token) of the SignonSecurityContext.
void signon_security_context_set_application_context (SignonSecurityContext *ctx
,const gchar *application_context
);
Sets the application context part (such as a script name or a web page) of the SignonSecurityContext.
const gchar *
signon_security_context_get_application_context
(const SignonSecurityContext *ctx
);
Get the application context part (such as script name or a web page) of the SignonSecurityContext.
GVariant *
signon_security_context_build_variant (const SignonSecurityContext *ctx
);
Build a GVariant of type "(ss)" from a SignonSecurityContext item.
SignonSecurityContext *
signon_security_context_deconstruct_variant
(GVariant *variant
);
Builds a SignonSecurityContext item from a GVariant of type "(ss)".
GVariant *
signon_security_context_list_build_variant
(const SignonSecurityContextList *list
);
Builds a GVariant of type "a(ss)" from a GList of SignonSecurityContext items.
SignonSecurityContextList *
signon_security_context_list_deconstruct_variant
(GVariant *variant
);
Builds a GList of SignonSecurityContext items from a GVariant of type "a(ss)".
SignonSecurityContextList *
signon_security_context_list_copy (const SignonSecurityContextList *src_list
);
Copies a GList of SignonSecurityContext items.
void
signon_security_context_list_free (SignonSecurityContextList *seclist
);
Frees all items and the GList of SignonSecurityContext.
struct SignonSecurityContext { gchar *sys_ctx; gchar *app_ctx; };
Security context descriptor used for access control checks.
typedef GList SignonSecurityContextList;
GList of SignonSecurityContext items.