django-authtkt用于在多个Django站点之间共享认证(一种单点登录认证)
项目描述
用法
在AuthenticationMiddleware之前添加中间件类
MIDDLEWARE_CLASSES = (
...
'authtkt.middleware.AuthTktMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
...
)
回调
您可以使用回调在第三方应用中填充新创建的用户。
设置
AUTHTKT_CALLBACK = 'yourmodule:update_user'
回调
from sqlalchemy import engine_from_config, Table, MetaData
from django.conf import settings
def update_user(user):
engine = engine_from_config({'sqlalchemy.url': settings.USER_DB})
metadata = MetaData(engine)
users = Table('auth_user', metadata, autoload=True)
record = users.select(users.c.id==user.id).execute().fetchone()
for k, v in record.items():
setattr(user, str(k), v)
手动识别/忘记用户
手动识别用户(例如:设置一个cookie)。您需要设置一个正确的request.user
request.environ['authtkt.identify'](request, response)
手动忘记用户(例如:重置一个cookie)
request.environ['authtkt.forget'](request, response)
项目详情
下载文件
下载适合您平台文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
django-authtkt-0.3.zip (11.4 kB 查看哈希值)
django-authtkt-0.3.tar.gz (6.0 kB 查看哈希值)