PHP 8.5.2
Preview: cred_memory.py Size: 2.23 KB
//lib/python3/dist-packages/twisted/plugins/cred_memory.py

# -*- 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()

Directory Contents

Dirs: 1 × Files: 20

Name Size Perms Modified Actions
- drwxr-xr-x 2026-01-08 12:56:23
Edit Download
958 B lrw-r--r-- 2024-08-27 10:30:39
Edit Download
1.77 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
2.23 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
1.39 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
5.81 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
5.49 KB lrwxr-xr-x 2026-01-08 12:56:25
Edit Download
530 B lrw-r--r-- 2024-08-27 10:30:39
Edit Download
550 B lrw-r--r-- 2024-08-27 10:30:39
Edit Download
212 B lrw-r--r-- 2024-08-27 10:30:39
Edit Download
262 B lrw-r--r-- 2024-08-27 10:30:39
Edit Download
224 B lrw-r--r-- 2024-08-27 10:30:39
Edit Download
236 B lrw-r--r-- 2024-08-27 10:30:39
Edit Download
277 B lrw-r--r-- 2024-08-27 10:30:39
Edit Download
1.73 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
280 B lrw-r--r-- 2024-08-27 10:30:39
Edit Download
236 B lrw-r--r-- 2024-08-27 10:30:39
Edit Download
3.44 KB lrw-r--r-- 2024-08-27 10:30:39
Edit Download
331 B lrw-r--r-- 2024-08-27 10:30:39
Edit Download
938 B lrw-r--r-- 2024-08-27 10:30:39
Edit Download
609 B lrw-r--r-- 2024-08-27 10:30:39
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).