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/py3/twisted/plugins/cred_memory.py | |
parent | 523f645a83a0ec97a0332dbc3863bb354c92a328 (diff) | |
download | ydb-b8cf9e88f4c5c64d9406af533d8948deb050d695.tar.gz |
add kikimr_configure
Diffstat (limited to 'contrib/python/Twisted/py3/twisted/plugins/cred_memory.py')
-rw-r--r-- | contrib/python/Twisted/py3/twisted/plugins/cred_memory.py | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/contrib/python/Twisted/py3/twisted/plugins/cred_memory.py b/contrib/python/Twisted/py3/twisted/plugins/cred_memory.py new file mode 100644 index 0000000000..30ef10a244 --- /dev/null +++ b/contrib/python/Twisted/py3/twisted/plugins/cred_memory.py @@ -0,0 +1,65 @@ +# -*- 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 zope.interface import implementer + +from twisted import plugin +from twisted.cred.checkers import InMemoryUsernamePasswordDatabaseDontUse +from twisted.cred.credentials import IUsernameHashedPassword, IUsernamePassword +from twisted.cred.strcred import ICheckerFactory + +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: + """ + 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() |