Package: node.ext.ugm
node.ext.ugmOverviewnode.ext.ugmprovides an API for node based managing of users and groups.Seenode.ext.ugm.interfacesfor a description of the API.A file based default implementation can be found atnode.ext.ugm.file.Base objects for writing UGM implementations can be found atnode.ext.ugm._api.For more information on nodes seenodepackage.For more information on plumbing seeplumberpackage.Python VersionsPython 2.7, 3.7+May work with other versions (untested)ContributorsRobert NiederreiterFlorian FriesdorfJens W. KleinPhilipp Auersperg-CastellChanges1.1 (2022-12-05)Extendnode.ext.ugm.interfaces.IUserbyexpiresandexpiredattributes and provide default values onnode.ext.ugm._api.User.
[rnix]Implementexpiresandexpiredonnode.ext.ugm.file.UserBehavior.
Extendnode.ext.ugm.file.UgmBehaviorbyuser_expires_attrwhich
enables used expiration support.
[rnix]1.0 (2022-03-18)Remove usage ofNodespacesbehavior.
[rnix]Replace deprecated use ofStoragebyMappingStorage.
[rnix]Replace deprecated use ofNodifybyMappingNode.
[rnix]Replace deprecated use ofNodeChildValidatebyMappingConstraints.
[rnix]Replace deprecated use ofAdoptbyMappingAdopt.
[rnix]Replace deprecated use ofallow_non_node_childrenbychild_constraints.
[rnix]0.9.13 (2021-11-08)Rename deprecatedFileStorage.allow_non_node_childstoallow_non_node_children[rnix]0.9.12 (2020-07-09)node.ext.ugm.file.GroupBehavior.addproperly raisesKeyErrorif given
user not exists.
[rnix]Also call parent innode.ext.ugm.file.UserBehavior.__call__andnode.ext.ugm.file.GroupBehavior.__call__if not called from parent.
[rnix]node.ext.ugm.file.FileStorage.invalidategets set withplumber.overrideinstead ofplumber.defaultto work onnode.ext.ugm.file.Usersandnode.ext.ugm.file.Groups.
[rnix]node.ext.ugm.file.FileStoragevalues can benode.utils.UNSET.
[rnix]0.9.11 (2020-05-28)Implementinvalidateonnode.ext.ugm.file.Ugm.
[rnix, 2020-05-16]node.ext.ugm.interfaces.IUgminherits fromnode.interfaces.IInvalidatenow.
[rnix, 2020-05-16]Describe behavior of__getitem__,__delitem__and__iter__onIGroupinterface.
[rnix, 2020-05-11]Fix file basedGroupBehavior.__getitem__to properly raiseKeyErrorwhen accessing user which is no member of group.
[rnix, 2020-05-11]Make clear onUserandGroupbehaviors which not impelented functions
are abstract and which are not supported.
[rnix, 2020-05-11]0.9.10 (2019-11-07)Also deriveIPrincipalsinterface fromnode.interfaces.IInvalidate.
Implementinvalidatefunction onFileStorage.
[rnix, 2019-06-30]Persist users file on password change.
[rnix, 2019-06-30]AddUserAttributesandGroupAttributesclasses deriving fromFileAttributesand handle reserved attributes expected bycone.ugmthere. This might change in future.
[rnix, 2019-06-27]File based principals support binary attributes now.
[rnix, 2019-06-26]Return all principals in file based UGM imlementation if no search criteria
given.
[rnix, 2019-06-26]Remove superfluousconfigure.zcmlfile.
[rnix, 2019-04-13]Removecone.appmain hook for initializing file based UGM implementation.
This is handled incone.appitself as of version 1.0
[rnix, 2019-03-28]0.9.9node.ext.ugm.file.FileStorageno longer providesunicode_keysandunicode_values, files are always read and written encoded by encoding
defined atnode.ext.ugm.file.ENCODING, keys and values are always decoded
to unicode on read.
[rnix, 2017-06-07]Python 3 Support.
[rnix, 2017-06-07]0.9.8Fix bug where non related principal data has been overwritten when adding
principal on partial loaded ugm tree.
[rnix, 2015-04-12]Also delete user and group corresponding data if user or group is deleted.
[rnix, 2015-04-11]Fixnode.ext.ugm.file.UsersBehavior.passwdbehavior.
[rnix, 2015-04-11]0.9.7Create user and group data directories recursiv if not exists.
[rnix, 2014-12-02]0.9.6Encode plain passwd for comparing with hash.
[rnix, 2014-09-10]0.9.5Useplumbingdecorator instead ofplumbermetaclass.
[rnix, 2014-08-01]0.9.4Use better password hashing for file based default UGM implementation.Warning- all existing passwords in user table do not work any longer
and must be reset.
[rnix, 2014-06-13]0.9.3Rename parts to behaviors.
[rnix, 2012-07-29]adopt tonode0.9.8.
[rnix, 2012-07-29]Adopt toplumber1.2.
[rnix, 2012-07-29]AddUser.group_ids.
[rnix, 2012-07-26]0.9.2Remove outdated stuff.
[rnix, 2012-05-18]Usezope.interface.implementerinstead ofzope.interface.implements.
[rnix, 2012-05-18]0.9.1addUsers.id_for_login.
[rnix, 2012-01-18]Implementsearchfunction for file based UGM as described in interface.
[rnix, 2011-11-22]Adopt application startup hook for cone.ugm only setting auth implementation
if explicitely defined.
[rnix, 2011-11-21]0.9make it work
[rnix, chaoflow]LicenseCopyright (c) 2011-2021, BlueDynamics Alliance, Austria
Copyright (c) 2021-2022, Node Contributors
All rights reserved.Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the following disclaimer in the documentation and/or
other materials provided with the distribution.THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.