【问题标题】:Store special data on failed authentication存储有关身份验证失败的特殊数据
【发布时间】:2014-05-09 22:31:49
【问题描述】:

我编写了一个简单的 Django 项目,我想在登录尝试失败时存储客户端 IP 和日期。我准备模型:

class FailIp(models.Model):

    ip = models.CharField(
        max_length=16,
        verbose_name=_(u'fail login ip'),
    )
    date = models.DateTimeField(default=datetime.now)

但我不知道如何解决登录错误。网址:

url(
    r'^login/$',
    'django.contrib.auth.views.login', {
        'template_name': 'login.html'
    },
    name='login'
),

怎么做?

【问题讨论】:

    标签: python django django-authentication django-signals django-contrib


    【解决方案1】:

    这是django.contrib.auth.signals.user_login_failed 信号的一个很好的用例——在 Django 1.5 中引入,当用户登录失败时发送:

    from django.contrib.auth import signals
    
    def listener_login_failed(sender, credentials, **kwargs):
        # handle log in failure
    
    signals.user_login_failed.connect(listener_login_failed)
    

    另见tests for django.contrib.auth.signals

    【讨论】:

      猜你喜欢
      • 2017-10-30
      • 1970-01-01
      • 2018-01-15
      • 1970-01-01
      • 2022-10-17
      • 2014-01-24
      • 1970-01-01
      相关资源
      最近更新 更多