我对Vaadin认证的最佳实践感兴趣,我认为这里主要有两个选项:
- ThreadLocal(可能导致内存不足,不同用户可以使用相同的线程)
- Spring Security+Vaadin集成(似乎有点太多)
你更喜欢哪一个,为什么?(安全问题,易于开发,其他因素)
在Vaadin中有很多不同的身份验证方法。
-
Vaadin基础身份验证
- 对于Vaadin 6,请尝试
LoginForm
- 对于Vaadin 7,您可以使用新的&改进了
LoginForm
的替换实现,最初作为附加组件提供,后来内置到Vaadin 7.7中 - 对于Vaadin 8,使用相同的重新实现的
LoginForm
- 对于Vaadin Flow,自版本12起未实施。您可以仔细阅读开源代码,并构建类似的东西。"Listener"支持是在超类中构建的,所以您不是从零开始的
- 对于Vaadin 6,请尝试
- 将值添加到用户会话并在init()方法中检查该值。(也很容易)
- 基本身份验证(请参阅tomcat示例)(有时它对客户非常有用,但通常会遇到特定于容器的问题。)
- Spring SecurityVaadin 7.1+Spring Security Integration在Tomcat Server中运行(人们喜欢Spring)
- Apache shiro(从未尝试过,但这是可能的方法之一)
如果你想让它变得简单,我建议你选择1或2,如果你想要电源安全系统,则选择4。
不完全符合您的问题,但有两次提到:
-
Vaadin的新Persona"插件">
使用Mozilla发明的有前景的Persona身份验证系统。作者:LeifÅstrand。新的,仍处于试验阶段
更新Mozilla已放弃此项目。 -
Stormpath
一家致力于为开发人员提供用户登录管理API和服务的公司。还有一些其他公司似乎涉足认证即服务这一新领域,但据我所知,Stormpath是唯一一家致力于此的公司
我没有使用过这两种,但它们在我的待办事项列表中。