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

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

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

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

【问题讨论】:

    标签: authentication spring-security vaadin


    【解决方案1】:

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

    1. Vaadin 基本身份验证。
      • 对于 Vaadin 6,请尝试 LoginForm
      • 对于 Vaadin 7,您可以先使用 LoginForm 的新改进替换实现 available as a Add-On,然后再使用 built into Vaadin 7.7
      • 对于 Vaadin 8,使用相同的重新实现的 LoginForm
      • 对于Vaadin Flow,未在版本 12 中实现。您可以仔细阅读开源代码,并构建类似的东西。 “监听器”支持内置于超类中,因此您无需从头开始。
    2. 将值添加到用户会话中并在 init() 方法中检查该值。 (也很简单)
    3. 基本身份验证(请参阅tomcat example)(有时它对客户非常有用,但通常会遇到特定于容器的问题。)
    4. Spring Security Vaadin 7.1 + Spring-Security Integration running in Tomcat Server(人们喜欢 Spring)
    5. 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 用户身份验证项目。对我来说似乎很有希望。我不明白为什么网络行业拒绝构建简单直接的用户身份验证技术。
    猜你喜欢
    • 2013-01-17
    • 2014-06-23
    • 1970-01-01
    • 1970-01-01
    • 2012-08-26
    • 2011-08-17
    • 2010-09-14
    • 1970-01-01
    • 2010-09-22
    相关资源
    最近更新 更多