Django:可以重定向未认证用户访问/admin/吗?

1 投票
2 回答
906 浏览
提问于 2025-04-18 14:26

我在做一个django应用,里面有一个自定义的认证系统。

我已经在设置里配置了LOGIN_URL,认证系统运行得很好。

我希望当一个没有登录的用户访问/admin/时,可以把他们重定向到主认证系统,而不是让django.contrib.auth模型自己显示登录表单。

我还希望/admin/logout页面也能做类似的事情。

django.contrib.auth模型只是用来处理用户和组的。现在LOGIN_URL设置为/saml2/login/,我想让所有未登录的请求访问/admin/时,都能被引导到这个LOGIN_URL。

有什么简单的方法可以做到这一点吗?

2 个回答

1

创建一个自定义的登录页面,并将你的登录网址(LOGIN_URL)指向这个页面。这样做可能会有所帮助:Django 认证(自定义登录页面)

0

我找到了一个合适的解决办法:

我该如何不使用Django的管理员登录视图?

这个方法其实就是把管理员的视图放在一个需要登录的视图里。

撰写回答