diff options
author | shmel1k <shmel1k@ydb.tech> | 2023-11-26 18:16:14 +0300 |
---|---|---|
committer | shmel1k <shmel1k@ydb.tech> | 2023-11-26 18:43:30 +0300 |
commit | b8cf9e88f4c5c64d9406af533d8948deb050d695 (patch) | |
tree | 218eb61fb3c3b96ec08b4d8cdfef383104a87d63 /contrib/python/Twisted/py2/twisted/plugins/cred_memory.py | |
parent | 523f645a83a0ec97a0332dbc3863bb354c92a328 (diff) | |
download | ydb-b8cf9e88f4c5c64d9406af533d8948deb050d695.tar.gz |
add kikimr_configure
Diffstat (limited to 'contrib/python/Twisted/py2/twisted/plugins/cred_memory.py')
-rw-r--r-- | contrib/python/Twisted/py2/twisted/plugins/cred_memory.py | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/contrib/python/Twisted/py2/twisted/plugins/cred_memory.py b/contrib/python/Twisted/py2/twisted/plugins/cred_memory.py new file mode 100644 index 0000000000..797963ca01 --- /dev/null +++ b/contrib/python/Twisted/py2/twisted/plugins/cred_memory.py @@ -0,0 +1,70 @@ +# -*- test-case-name: twisted.test.test_strcred -*- +# +# Copyright (c) Twisted Matrix Laboratories. +# See LICENSE for details. + +""" +Cred plugin for an in-memory user database. +""" + +from __future__ import absolute_import, division + +from zope.interface import implementer + +from twisted import plugin +from twisted.cred.strcred import ICheckerFactory +from twisted.cred.checkers import InMemoryUsernamePasswordDatabaseDontUse +from twisted.cred.credentials import IUsernamePassword, IUsernameHashedPassword + + + +inMemoryCheckerFactoryHelp = """ +A checker that uses an in-memory user database. + +This is only of use in one-off test programs or examples which +don't want to focus too much on how credentials are verified. You +really don't want to use this for anything else. It is a toy. +""" + + + +@implementer(ICheckerFactory, plugin.IPlugin) +class InMemoryCheckerFactory(object): + """ + A factory for in-memory credentials checkers. + + This is only of use in one-off test programs or examples which don't + want to focus too much on how credentials are verified. + + You really don't want to use this for anything else. It is, at best, a + toy. If you need a simple credentials checker for a real application, + see L{cred_file.FileCheckerFactory}. + """ + authType = 'memory' + authHelp = inMemoryCheckerFactoryHelp + argStringFormat = 'A colon-separated list (name:password:...)' + credentialInterfaces = (IUsernamePassword, + IUsernameHashedPassword) + + def generateChecker(self, argstring): + """ + This checker factory expects to get a list of + username:password pairs, with each pair also separated by a + colon. For example, the string 'alice:f:bob:g' would generate + two users, one named 'alice' and one named 'bob'. + """ + checker = InMemoryUsernamePasswordDatabaseDontUse() + if argstring: + pieces = argstring.split(':') + if len(pieces) % 2: + from twisted.cred.strcred import InvalidAuthArgumentString + raise InvalidAuthArgumentString( + "argstring must be in format U:P:...") + for i in range(0, len(pieces), 2): + username, password = pieces[i], pieces[i+1] + checker.addUser(username, password) + return checker + + + +theInMemoryCheckerFactory = InMemoryCheckerFactory() |