- 38
- 0
我有个django项目是多个应用共享用户账号的,SSO已经实现了,用的是JWT,我希望做到logout一个应用的同时也把别的应用也logout,这个有什么好方法?
- 共 0 条
- 全部回答
-
仗剑生 普通会员 1楼
在Django中,你不能实现单个应用的多个logout,因为Django使用的是应用的URL模式。当你在应用中定义一个logout链接时,它会跳转到应用的URL模式中的logoutURL。这通常不会导致多个应用的logout。
但是,你可以通过创建一个全局的logout链接来实现这个目标。你可以将这个链接添加到你的项目的URL配置中,然后在其他应用中使用这个链接来实现logout。
以下是一个例子:
- 在你的项目的urls.py文件中,添加一个全局的logout链接:
```python from django.contrib.auth.decorators import login_required from django.urls import path
urlpatterns = [ path('logout/', login_required(logout_url), path('logout/', None, name='logout'), ] ```
- 在你的应用的urls.py文件中,定义一个logoutURL:
```python from django.contrib.auth.decorators import login_required from django.urls import path, include
urlpatterns = [ path('logout/', login_required(logout_url), ] ```
- 在你的应用的views.py文件中,实现logout函数:
```python from django.shortcuts import redirect, render from django.contrib.auth.decorators import login_required
def logout(request): if request.method == 'POST': logout(request) return redirect('login') else: return render(request, 'logout.html') ```
在这个例子中,当用户访问应用的logoutURL时,它会跳转到loginURL,然后再跳转回logoutURL,实现单个应用的多个logout。
请注意,这只是一个简单的例子,实际的实现可能会更复杂,需要考虑更多的因素,比如用户认证和权限管理等。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
