spring – jhipster 2:认证选项有什么区别?
我已经将jhipster生成器从版本1更新到版本2.在之前的版本中,我们必须在生成新项目时选择身份验证.我们可以选择Cookie身份验证和令牌身份验证(使用OAuth).这对我来说非常清楚.但是在2.1.1版本中,我们现在有三种选择:
我想对网络和移动应用程序(离子框架)使用身份验证,在2和3之间一对一?这个选择是否使我的应用程序可以使用群集进 最佳答案
您将在此处获得有关jhipster身份验证类型的基本信息
根据我在离子框架中使用jhipster的REST api的个人经验,我可以说不要对移动应用程序(离子框架)使用HTTP会话身份验证,因为移动应用程序不能与一般的HTTP会话认证所依赖的cookie一起使用根据. Oauth2和JWT都可以与离子混合应用程序一起使用 HTTP会话认证 这是“经典”Spring Security身份验证机制,但我们对其进行了相当大的改进.它使用HTTP会话,因此它是一种有状态机制:如果您计划在多个服务器上扩展应用程序,则需要使用具有粘性会话的负载均衡器,以便每个用户都保持在同一服务器上. OAuth2身份验证 OAuth2是一种无状态安全机制,因此如果要跨多台计算机扩展应用程序,可能更喜欢它. Spring Security提供了我们为您配置的OAuth2实现. OAuth2的最大问题是需要拥有多个数据库表才能存储其安全性令牌.如果您使用的是SQL数据库,我们会提供必要的Liquibase changlog,以便为您自动创建这些表. 由于Spring Security仅支持带有SQL数据库的OAuth2,因此我们还实现了自己的MongoDB版本.我们为您生成MongoDB的所有OAuth2实现,以及必要的MongoDB配置. 此解决方案使用密钥(应在application.yml文件中配置)作为“authentication.oauth.secret”属性. JWT身份验证 与OAuth2一样,JSON Web令牌(JWT)身份验证是一种无状态安全机制,因此如果您想在多个不同的服务器上进行扩展,这是另一个不错的选择. 使用Spring Security时,此身份验证机制不存在,它是Java JWT项目的特定于JHipster的集成.它比OAuth2更容易使用和实现,因为它不需要持久性机制,因此它适用于所有SQL和NoSQL选项. 此解决方案使用保存用户登录名和权限的安全令牌.由于令牌已签名,因此用户无法更改. 应在application.yml文件中配置密钥,作为jhipster.security.authentication.jwt.secret属性. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |