Package: pyams-security
ContentsWhat is PyAMS?What is PyAMS_security?Changelog2.2.12.2.02.1.22.1.12.1.02.0.12.0.01.11.21.11.11.11.01.10.61.10.51.10.41.10.31.10.21.10.11.10.01.9.01.8.41.8.31.8.21.8.11.8.01.7.11.7.01.6.21.6.11.6.01.5.51.5.41.5.31.5.21.5.11.5.01.4.01.3.11.3.01.2.11.2.01.1.31.1.21.1.11.1.01.0.51.0.41.0.31.0.21.0.11.0.0What is PyAMS?PyAMS (Pyramid Application Management Suite) is a small suite of packages written for applications
and content management with the Pyramid framework.PyAMSis actually mainly used to manage web sites through content management applications (CMS,
see PyAMS_content package), but many features are generic and can be used inside any kind of web
application.All PyAMS documentation is available onReadTheDocs; source code
is available onGitlaband pushed toGithub.What is PyAMS_security?PyAMS_security is a core extension package for PyAMS which provides all base security-related
features; the package provides a custom authentication policy which is based on a custom “security
manager”. This utility is a pluggable tool which is handling system users, local users and groups;
external packages are available to provide other authentication and security mechanisms, like
HTTP authentication, JWT tokens management, and OAuth, Azure or LDAP based authentication.Finally, PyAMS_security provides ACLs and roles management, as well as custom schema fields to
store roles assigned to principals.Changelog2.2.1added support for custom attributes in roles2.2.0added marker interface to handle unknown or missing principalsadded argument to security manager authentication method to get plugins instance
instead of plugin name2.1.2renamed UnknownPrincipal class to avoid strange pickle behaviour…2.1.1optimized principal getter helper functionmoved PyAMS_utils finder helper to new module2.1.0“forbidden” permission is not granted automatically to system manager automatically anymore;
an optional configuration setting must be used to grant this permission2.0.1updated Buildout configuration2.0.0migrated to Pyramid 2.0added interface and adapter to get user rolesadded REST API authentication checker1.11.2renamed settings parameter used to disable default security policy on site root1.11.1updated doctestsadded support for Python 3.111.11.0added support for user registrationmoved open registration settings to PyAMS_security_views package1.10.6updated CORS requests handleruse f-strings in logger output1.10.5added constant to set unchanged password value1.10.4added allowed methods argument to CORS requests handlerrollback on Gitlab-CI test coverage report integration1.10.3added Gitlab-CI test coverage report1.10.2added custom CORS requests handler adapter1.10.1updated Gitlab-CI configuration1.10.0added REST services configuration and validators to handle CORS requests1.9.0moved security plugins interfaces to dedicated moduleadded support for Python 3.101.8.4added method to security manager to get a raw principal, bypassing cache1.8.3updated translations1.8.2reStructuredText formatting error…1.8.1added constant for unknown principal IDadded constants for principal and group ID formatters1.8.0added attribute to security manager to show link in home page1.7.1added strings constants for plug-ins labels1.7.0added ProtectedViewObjectMixin, to be used as base for any object using dynamicpermissionpropertyadded “action” argument to “get_edit_permission()” function; this allows to register
custom adapters toIViewContextPermissionCheckerwith this name, to be able to check
edit permissions for custom actionsadded ISecurityContext interface1.6.2renamed ‘skin’ module to ‘api’1.6.1correction in Gitlab-CI Pylint task1.6.0removed support for Python < 3.7added custom password encodersupdated doctests1.5.5updated Gitlab-CI configuration1.5.4updated Gitlab-CI configuration1.5.3added wheels to Buildout configuration1.5.2updated Gitlab-CI configuration for last Python versions1.5.1updated doctests1.5.0added ISecurityManager factory configurationremoved Travis-CI configuration1.4.0added config.upgrade_role function, to be able to add permissions to an existing roleupdated default site rolesupdated doctests1.3.1updated security manager interface to add registered credentials plug-ins names1.3.0added argument in “find_principals” methods to only allow exact match1.2.1use updated WSGI decorator to prevent storage of null values into request environment1.2.0updated roles management; this will allow to extend supported roles of a given class just
by adding adapters, without modifying the original classmoved PyAMS security policy to dedicated moduleadded registration of standard roles and security policyadd factories registration in default security plug-insupdated users registration processupdated adapter_config decorator argumentsupdated doctests1.1.3small updates in policy management ofauthenticated_user_id1.1.2updated doctests with configured cache1.1.1removed dependency onpyams_auth_httppackage1.1.0moved authentication plug-ins to dedicated packages (see pyams_auth_http, pyams_auth_jwt…)moved PyAMS authentication policy to dedicated modulehandle ConnectionStateError in authentication policyupdated doctests1.0.5simple version switch to avoid mismatch in Buildout configuration file…  :(1.0.4code cleanup1.0.3handle ConnectionStateError in JWT authentication plug-inupdated doctests1.0.2added support for HS512 and RS512 JWT encryption protocols1.0.1updated imports in include file for tests integration1.0.0initial release