Skip to main content

Handles user authentication, in a way.

Project description

.. image:: https://travis-ci.org/mbr/alcohol.svg?branch=master
:target: https://travis-ci.org/mbr/alcohol

.. code::

from alcohol.mixins.sqlalchemy import SQLAlchemyUserMixin

class User(Base, SQLAlchemyUserMixin):
id = Column(Integer, primary_key=True)

bob = User()

# stores a hash of bobs password (using passlib)
bob.password = 'bobs_very_secret_password'

if bob.check_password(some_password):
print 'hello, bob!'

# creates a password-reset token that will work once to change his password
# after he forgot it, signed with the servers secret key
token = bob.create_password_reset_token(SECRET_KEY)


alcohol is a framework for handling user :doc:`authentication` and
:doc:`authorization`. Both of these parts can be used independently and support
SQLAlchemy_ and in-memory backends.

Authorization is handled using *Role Based Access Controls* (a
`NIST <https://en.wikipedia.org/wiki/NIST>`_-standard) as the underlying
model::

from alcohol.rbac import DictRBAC

acl = DictRBAC()
acl.assign('bob', 'programmer')
acl.assign('alice', 'ceo')

acl.permit('programmer', 'run_unittests')
acl.permit('ceo', 'hire_and_fire')

acl.allowed('bob', 'run_unittests') # True
acl.allowed('bob', 'hire_and_fire') # False
acl.allowed('alice', 'hire_and_fire') # True

.. this should be put back in once flask-alcohol is stable/in better shape
.. While suitable for use in stand-alone, non-web applications it is also a core
.. ingredient to `Flask-Alcohol <http://pypi.python .org/pypi/flask-alcohol/>`_, a
.. `Flask <http://flask.pocoo.org/>`_ library that takes this concept even
.. further.


Utilities
---------

alcohol also ships with a few SQLAlchemy_ mixins for handling updated/modified
timestamps, email fields, password-hashes and generating activation/reset
tokens for the latter two. See :doc:`mixins` for details.


.. [1] http://csrc.nist.gov/rbac/sandhu-ferraiolo-kuhn-00.pdf
.. _SQLAlchemy: http://www.sqlalchemy.org/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alcohol-0.4.tar.gz (5.7 kB view details)

Uploaded Source

File details

Details for the file alcohol-0.4.tar.gz.

File metadata

  • Download URL: alcohol-0.4.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for alcohol-0.4.tar.gz
Algorithm Hash digest
SHA256 24d373e15f55df6e96341e86fb7b4d84dad0a8953b6afcf216e979099011cdb6
MD5 468345150da877a2728b5a8204ec00a9
BLAKE2b-256 91a5fc1960b77f9d705429aba6ae87e9ac7dd562239fb50f2eed76350e594799

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page