6.5. UserList
The UserList implements checking whether a user name matches the given
User List policy. Note that the match is case sensitive.
6.5.1. Configuration example
[user_list]
# Name of the User List policy configured in SPS (Policies -> User Lists)
; name = <user-list-policy-name>
6.5.1.1. Checking whether a user name matches a User List
In this example we’ll use the following configuration to check User List membership of user ‘administrator’
[user_list]
# Name of the User List policy configured in SPS (Policies -> User Lists)
name = my_user_list_policy
from safeguard.sessions.plugin import PluginConfiguration
from safeguard.sessions.plugin import UserList
class Plugin:
def __init__(self, configuration):
self.__config = PluginConfiguration(configuration)
self.__user_list = UserList.from_config(self.__config)
is_matched = self.__user_list.check_user('administrator')
-
class
safeguard.sessions.plugin.user_list.
UserList
(users, default)
The UserList
represents access to the User List policy in SPS.
Do not instantiate UserList service with its constructor, rather use the from_config()
method.
Parameters: |
- users (list) – a list of user names, corresponding to the except list in the policy
- default – ‘all_users’ or ‘no_user’, corresponding to the allow setting in the policy
|
-
classmethod
from_config
(plugin_configuration, section='user_list', name=None)
The from_config()
method creates a UserList
instance from the given plugin configuration.
Parameters: |
- plugin_configuration (
PluginConfiguration ) – plugin configuration object
- section (str) – name of the configuration section where the User List policy name is found
- name (str) – name of the User List policy
|
Returns: | UserList
|
Raises: | RequiredConfigurationSettingNotFound if there
is no such section or “name” option in the section defined in the configuration.
|
Raises: | LocalUserListNotFound if the given User List policy is not
found.
|
-
check_user
(username)
The check_user()
will match the user name against a User List policy that contains an “allow” and
“except” configuration option. The returned value is True in two cases:
- the “allow” option equals
no_user
and the user name is in the “except” list (whitelist case)
- the “allow” option equals
all_users
and the user name is not in the “except” list (blacklist case)
otherwise the return value is False.
Note: the check in the “except” list is case sensitive.
Parameters: | username (str) – the user name to check |
Returns: | bool |
6.5.2. Exceptions
-
exception
safeguard.sessions.plugin.user_list_exceptions.
LocalUserListNotFound
(user_list_name)
The LocalUserListNotFound
exception is raised when the configured local user list cannot be found.