gpt4 book ai didi

java - 在富客户端(非网络)中实现单点登录?

转载 作者:搜寻专家 更新时间:2023-11-01 03:44:30 24 4
gpt4 key购买 nike

在我们公司,我们有几个丰富的 Java 应用程序,供内部用户和外部用户使用。我们希望开始迁移这些系统以支持单点登录机制,并可能允许我们的外部客户使用他们自己的身份验证机制来验证他们的用户。

例如,如果我们有一个拥有大量用户的客户,并且他们希望他们的用户只需要使用他们公司的登录信息登录,我们就会支持这种行为。

我们研究了使用基于证书的身份验证系统(Kerberos 是一种常见的系统),并使用该身份验证机制允许在我们的系统中使用外部身份验证服务。

这可行吗?我们需要了解具体的实现细节吗?我不太关心具体技术(尽管当然欢迎提出建议),我更关心核心概念并确保我们尽可能做正确的事。

关于授权 - 即访问不同的服务。在处理(可能)断开连接的身份验证服务时,是否有标准或最佳实践来处理这种情况?

另外请注意,我们的前端系统是用 Java 制作的,因此非常感谢与在 Java 框架中实现此行为相关的特定信息(即有用的库、特定于 Java 的潜在缺陷等)。

最佳答案

可行吗?是的。
我们需要了解具体的实现细节吗?是的。

每种类型的安全实现都有其自己的实现细节,您只需要了解这些细节即可。每一个都是不同的,并且有自己的细微差别。

您应该能够实现您选择的任何类型的安全措施。 Kerberos 是一个不错的选择。您也可以查看 Openid 和 CAS。不过还有很多其他的。

要处理实际的安全性本身,您可能会考虑研究 Spring Security。 Spring Security 能够很好地处理身份验证/授权。然而,大多数 Spring Security 真正关注的是网络安全而不是客户端系统,因此您很可能必须自己实现大部分身份验证机制(当然,尽可能使用可用的库)。

在设计您的系统时,尤其是当您将拥有许多不同类型的登录类型时,请尝试构建尽可能可插入的登录系统。这需要时间和大量的反复试验。

我会查看 Spring Security 3书。这不是一本好书,但它确实解释了很多关于如何正确实现安全性的内容。强烈建议使用 springs work,因为尝试完全靠自己实现安全性将是一项艰巨的任务。

祝你好运。

关于java - 在富客户端(非网络)中实现单点登录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5435265/

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