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 身份验证最佳实践的主要内容,如果未能解决你的问题,请参考以下文章