Django通过令牌登录。

django-lot的Python项目详细描述


https://travis-ci.org/jespino/django-lot.png?branch=masterhttps://coveralls.io/repos/jespino/django-lot/badge.png?branch=masterhttps://pypip.in/v/django-lot/badge.pnghttps://pypip.in/d/django-lot/badge.png

django登录令牌轻松创建基于令牌的登录。可以是 一次性登录、临时有效登录或永久登录,始终基于 你的设置。

如何安装

您也可以使用pip install django-lot

配置

将批量应用程序添加到已安装的应用程序中并定义您的设置LOT 变量作为字典,如果使用 批量中间件。

示例:

LOT = {
  'fast-login': {
      'name': _(u'Fast login'),
      'duration': 60,
      'one-time': True,
  },
  'slow-login': {
      'name': _(u'Slow login'),
      'duration': 60*60*24,
      'one-time': True,
  },
  'always-login': {
      'name': _(u'Always login'),
      'one-time': False,
      'duration': None,
  },
  'morning-login': {
      'name': _(u'Morning login'),
      'one-time': False,
      'duration': None,
      'verify-func': lambda x: datetime.now().hour < 12,
      'delete-on-fail': False
  },
}

LOT_MIDDLEWARE_PARAM_NAME = 'uuid-login'

获取密钥

将批验证后端添加到AUTHENTICATION_BACKENDS 设置变量。

示例:

AUTHENTICATION_BACKENDS = (
    "django.contrib.auth.backends.ModelBackend",
    "lot.auth_backend.LOTBackend",
)

标题键

将批量认证中间件添加到MIDDLEWARE_CLASSES 设置变量。确保它在Django的身份验证中间件之后。

示例:

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'lot.middleware.LOTAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
)

警告:

This method should ONLY be used over HTTPS.

用法

必须使用用户和类型(uuid和 创建日期是自动生成的)。然后您可以使用lot login视图,或者 批量登录中间件。您可以设置会话数据属性以添加数据 以批登录时的用户会话。

如果您使用lot中间件,您可以登录任何具有以下参数的url 在LOT_MIDDLEWARE_PARAM_NAME中定义并具有有效的批实例 与之相关。

如果使用视图,则可以添加下一个参数以将用户重定向到URL 登录后。默认情况下,将重定向到“/”URL。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用Eclipse Helios for Web项目   java指定行。作为编译器设置的分隔符?   osm映射中带有osmdroid的java标记   java Android ClassNotFoundException在路径:DexPathList上未找到类   java从j2me调用GWT方法   更新到java 8后的aspectj问题   如何仅从根元素java,com提取文本内容。滴虫软件。是的。html   安卓公司。谷歌。火基。数据库DatabaseException:未能转换java类型的值。将字符串改为长字符串   从java中的方法返回arraylist变量   java如果将引用重新分配给同步块内的锁对象,会是什么?   java下载。使用spring mvc的资源文件中的xlsx文件   java Eclipse提供了什么工具来运行Eclipse中未包含的程序?   spring boot Java泛型如何读取传递给泛型方法的类型上的字段或调用方法   Javacard中的javaecdsa签名