问题标签 [login-required]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
113 浏览

django - django login_required 装饰器 ViewDoesNotExist

我正在使用@login_required(login_url=settings.LOGIN_URL)并获得ViewDoesNotExist异常。

奇怪的是:

  • 我的代码没有以编程方式引用异常消息中引用的视图
  • 异常中引用的视图曾经存在但不再存在,并且它们没有在 urls.py 中指向
  • 当我删除@时问题就消失了login_required

我试过删除 urs.py 可能缓存的 pyc 文件有问题,但不是。

似乎 django 以某种方式记住了旧观点?

0 投票
0 回答
552 浏览

django - 引导模式,django login_required

当用户单击登录按钮以显示登录表单时,我设法使用引导模式。

现在,有一个 login_required 装饰器呈现登录模板。login_required 装饰器是服务器端代码,我需要一种方法让服务器告诉客户端启动按钮单击。

如何从我的服务器发起此呼叫?或者我需要更改可能导致 login_required 的每个客户端代码。

有没有人对此有解决方案?

0 投票
4 回答
3111 浏览

python - login_required 编码下一个参数,重定向失败

我正在@login_required为我的应用程序中的某些路线使用 Flask-login 的装饰器。在未登录的情况下导航到这些路线时,我被重定向到登录页面。到现在为止还挺好。

重定向的 url 看起来像这样:/login?next=%2Fusers
看起来它对下一个参数进行了 url 编码,这是我在遇到的示例中没有看到的。登录后重定向回next总是失败并回退到索引页面。我认为这是因为next是 url 编码的。

我应该以不同的方式解决这个问题吗?我刚刚开始深入研究 Flask 框架并处理示例,所以我对做事的最佳方法知之甚少。

这是一个示例路线:

我的登录路线如下所示:

在此先感谢您的帮助。

0 投票
2 回答
1121 浏览

google-app-engine - @login_required 装饰器自定义 handler_method appengine

我有这个代码:

如何将方法“handler_method”指定给@login_required 装饰器作为登录成功后要执行的操作?

0 投票
1 回答
1697 浏览

django - Django - 如何判断用户是否被@login_required重定向到页面?

我想使用

视图的装饰器称为

, 当你去 url 时使用

在我的 settings.py 中,我有

所以当用户去

查看(当他访问 url

,如果用户没有登录他的帐户,它会将他重定向到登录页面。现在,在登录页面中,有没有办法让我知道用户是直接进入登录页面还是被重定向到登录页面

装饰师?基本上,我希望我的登录页面类似于

注意:我使用的是通用登录视图。

0 投票
3 回答
8651 浏览

ajax - Django:ajax 调用时 login_required

我正在尝试对 ajax 帖子上的用户进行身份验证,但不起作用。这是我所做的

设置.py

模板

网址.py

views.py - 尝试 1

views.py - 尝试 2

运行服务器日志

我错过了什么?

0 投票
1 回答
3652 浏览

django - @login_required 和 is_authenticated() -- 什么时候在 Django 中使用?

我没有看到使用@login_required装饰器和is_authenticated(): 之间的明显区别,我认为它们执行类似的检查(尽管不完全是)。

假设我有function一个views.py

function装饰器相同login_required

两者都进行function类似的检查,除了 ,如果不在is_authenticated(),则提供重定向到的选项。homepagelogged

使用其中一个的任何其他好处以及它们不能互换使用的地方?

谢谢

0 投票
1 回答
907 浏览

django - Django 丢失当前登录的用户

在我的网站启动并运行了一段时间后,我的用户登录时突然出现问题。

  1. 我用 login_required 装饰器保护了某些视图。
  2. 当匿名用户点击该页面时,他会被重定向到登录页面。
  3. 当这个匿名用户添加其凭据时,POST 请求成功,他被重定向到初始页面。
  4. 然而, login_required 装饰器再次启动并将他重定向到登录页面,因为 Django 认为,用户没有登录。

我在 Ubuntu 上使用 Apache 和 mod_wsgi 在 SSL 后面的守护进程模式下运行 Django 1.6,并且我使用的是 Session 数据库后端。我正在使用 django-allauth.account 进行帐户管理/登录。我的会话设置是这样的:

由于我认为会话存在问题,因此我执行了以下操作:

一个。我检查了 sessionid cookie,例如:1parpvj07b77rtxueo6981z3xoshnpx4

湾。s = Session.objects.get(session_key='1parpvj07b77rtxueo6981z3xoshnpx4')

C。而 s.get_decoded() 还给了我 {},这就解释了为什么 Django 认为,用户必须先登录。

d。然后我找到了这个要点:https ://gist.github.com/glarrain/3982485 。试试这个,给了我以下信息: {'_auth_user_id': 330619L, '_auth_user_backend': 'django.contrib.auth.backends.ModelBackend', u'_session_expiry': 0}

非常感谢任何帮助,这是一个生产站点。

更新 我刚刚意识到行为不一致:

一个。登录后,Django 有时会将我识别为登录用户,有时会将我重定向到登录页面。即使我没有登录,而是继续点击其他页面,突然我又被认出来了;浏览器 cookie 中的 session_id 是一致的。

湾。在我们使用生产设置的测试服务器上,我无法重现此问题。生产和测试之间的唯一区别是,负载明显更高,我们进行负载平衡。

我可以有线程问题吗?虽然我无法想象,这应该来自哪里。

0 投票
3 回答
2216 浏览

python - django中的登录限制

这是一个非常基本的问题,因为我是使用 django 的新手。我制作了一个登录表单,可以很好地与数据库中的用户一起使用。问题是,例如,如果我输入“localhost:8000/Exi/index”,它确实会进入主“主页”页面,显然,问题是我希望用户只有在登录后才能看到此页面在。我试过了

但这对我不起作用。也许我没有看到任何东西,因为我在这里看了几个类似的问题,每个人似乎都在他们的项目中解决了这个问题。这是我这个页面的网址:

url(r'^$', views.LoginView.as_view(), name='login'), url(r'^index$', views.Index.as_view(), name='index')

先感谢您。

0 投票
1 回答
425 浏览

python - Django NoReverseMatch 和身份验证

我在这里处理一个简单的登录应用程序。我可以完美地登录和注销。发生的事情是,当我注销并且我想测试如果尝试转到只有登录用户可以看到的页面时会发生什么,我得到了 NoReverseMatch 异常。我查看文档并:“当您的 URLconf 中的匹配 URL 无法根据提供的参数识别时,django.core.urlresolvers 会引发 NoReverseMatch 异常。” 这是我的网址:

问题是我不知道我必须在哪里为想要在不登录的情况下转到受保护的 url 的用户设置 url。我已经尝试过“Login_required”(正如你在 url 中看到的那样),我试过了其他 mixin,如大括号中的 'LoginRequiredMixin' 和 Stronghold。这些都没有奏效。我要做的就是将那些用户(未登录并试图欺骗系统的用户)重定向到 logging.html。我的 settings.py 中有这个,也许它有帮助:

我知道这个问题可能很广泛,对此我很抱歉。如果您需要任何其他信息,请告诉我。非常比你

编辑:这就是 django 所显示的:

NoReverseMatch at /Exi/index/ Reverse for 'login' with arguments '()' 和关键字参数 '{}' 未找到。尝试了 0 种模式:[] 请求方法:GET 请求 URL:所以不允许我在此处显示链接 Django 版本:1.6.5 异常类型:NoReverseMatch 异常值:
使用参数“()”反转“登录”并且找不到关键字参数“{}”。尝试了 0 种模式:[] 异常位置:C:\Users\Python\Desktop\TestScene\lib\site-packages\django\core\urlresolvers.py 在 _reverse_with_prefix,第 452 行 Python 可执行文件:C:\Users\Python \Desktop\TestScene\Scripts\python.exe Python 版本:2.7.6 Python 路径:
['C:\Users\Python\Desktop\TestScene\ExiAdmin', 'C:\Users\Python\Desktop\TestScene\lib\site-packages\mysql_python-1.2.5-py2.7-win32.egg', ' C:\Windows\system32\python27.zip', 'C:\Users\Python\Desktop\TestScene\DLLs', 'C:\Users\Python\Desktop\TestScene\lib', 'C:\Users\Python\ Desktop\TestScene\lib\plat-win'、'C:\Users\Python\Desktop\TestScene\lib\lib-tk'、'C:\Users\Python\Desktop\TestScene\Scripts'、'C:\Python27 \Lib'、'C:\Python27\DLLs'、'C:\Python27\Lib\lib-tk'、'C:\Users\Python\Desktop\TestScene'、'C:\Users\Python\Desktop\TestScene \lib\site-packages']