Vaadin 身份验证最佳实践

Posted

技术标签:

【中文标题】Vaadin 身份验证最佳实践【英文标题】:Vaadin authentication best practice 【发布时间】:2014-01-23 21:40:12 【问题描述】:

我对 Vaadin 中身份验证的最佳实践很感兴趣,我认为这里主要有两个选项:

ThreadLocal(可能导致内存不足,不同用户可以拥有同一个线程) Spring Security + Vaadin 集成(似乎有点过头了)

你更喜欢哪一个,为什么? (安全问题、易开发、其他因素)

【问题讨论】:

【参考方案1】:

在 Vaadin 中有很多不同的身份验证方式。

    Vaadin 基本身份验证。 对于 Vaadin 6,请尝试 LoginForm。 对于 Vaadin 7,您可以先使用 LoginForm 的新改进替换实现 available as a Add-On,然后再使用 built into Vaadin 7.7。 对于 Vaadin 8,使用相同的重新实现的 LoginForm。 对于Vaadin Flow,未在版本 12 中实现。您可以仔细阅读开源代码,并构建类似的东西。 “监听器”支持内置于超类中,因此您无需从头开始。 将值添加到用户会话中并在 init() 方法中检查该值。 (也很简单) 基本身份验证(请参阅tomcat example)(有时它对客户非常有用,但通常会遇到特定于容器的问题。) Spring Security Vaadin 7.1 + Spring-Security Integration running in Tomcat Server(人们喜欢 Spring) Apache shiro(千万不要尝试,但这是可能的方法之一)

如果您想轻松使用,我建议您选择 1 或 2,如果您想要电源安全系统,我建议您选择 4。

【讨论】:

谢谢塔拉斯,我更喜欢阅读比较!但感谢你的努力。 (赞成/接受)【参考方案2】:

不完全符合你的问题,但有两点:

新的Persona for Vaadin“附加组件”使用 Mozilla 发明的有前途的 Persona authentication system。莱夫·阿斯特兰德(Leif Åstrand)。新的,仍处于试验阶段。更新 Mozilla 拥有abandoned this project。

Stormpath一家致力于为开发者提供用户登录管理API和服务的公司。还有一些其他公司似乎涉足了这个新的身份验证即服务领域,但 Stormpath 是我所知道的唯一一家专注于此的公司。

我没有使用过其中任何一个,但它们在我的待办事项列表中。

【讨论】:

感谢您的回答。两种解决方案似乎都很有趣。但是我需要一个不附加到邮件的数据库集成解决方案,我认为我坚持使用 ThreadLocal 模式。似乎比 Spring Security 更容易和轻量级! (赞成) 遗憾的是,我必须注意 Mozilla has abandoned the Persona 用户身份验证项目。对我来说似乎很有希望。我不明白为什么网络行业拒绝构建简单直接的用户身份验证技术。

以上是关于Vaadin 身份验证最佳实践的主要内容,如果未能解决你的问题,请参考以下文章

移动设备的最佳实践身份验证

Web API 身份验证最佳实践

管理身份验证令牌的最佳实践

Ember 身份验证最佳实践?

实施客户端-服务器身份验证的最佳实践

使用 JWT 进行身份验证的最佳实践