gpt4 book ai didi

java - Django 与 Acegi 集成

转载 作者:行者123 更新时间:2023-12-01 05:54:10 25 4
gpt4 key购买 nike

我现有的 Java 应用程序正在使用 Acegi 进行身份验证/授权。我们的新 Web 界面最好用 Django 编写。我希望 Django 维护用户 - 注册等。Django 将共享或更新 Acegi 身份验证数据,以便旧的应用程序仍然有效,并且用户不必使用两组凭据(甚至可能共享身份验证 cookie)。我想知道是否有人已经在处理类似的问题,如果是,选择了哪种方法。

谢谢

最佳答案

请记住,无论您使用 Django 做什么,它仍然是 Python,因此仅仅因为 Django 没有/不这样做,并不意味着您不能。另外,从另一个角度来看,没有什么可以阻止您从传统 Django 应用程序外部使用 Django 框架的某些部分。

我不太喜欢 Django 的管理界面,尽管我确实在其中使用了很多 FormModelForm 。我实际上实现了自己的身份验证系统 - 您所需要的只是让您登录/注销等的功能以及该数据的接口(interface)。它(用户/组等)不必表示为 Django 模型,尽管我这样做是为了方便。没有什么可以阻止您连接另一个 ORM 或为 acegi 编写自己的 ORM。或者,如果编写自己的层足够简单,就这样做。

我建议 Hook Django 的上下文处理器和 Django 中间件并库化您的工作,因为它会使重用变得轻而易举,并且它将以与现有身份验证框架类似的方式运行。这是一个示例上下文处理器,我使用它允许我在模板中编写 {{ username }} ,而不必从每个 View 方法中的每个请求对象中获取它:

def Authentication(request):
if AuthenticationCheck(sess=request.session, timeofaction=datetime.datetime.now(), ipaddress=request.META['REMOTE_ADDR']) == True:
return dict(username=request.session["username"])
else:
return dict(username='')

此外,Django Middleware Documentation

关于java - Django 与 Acegi 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3640256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com