当前位置: 首页 > 知识库问答 >
问题:

Spring REST服务,注册用户,身份验证

苏志
2023-03-14

我们的项目由Java后端(spring web应用程序)以及iOS和Android客户端应用程序组成。现在我们需要向Java后端添加客户端应用程序的身份验证。其想法是首次使用外部web服务注册用户。在这一步中,用户提供完整的凭证(登录和“大”密码),并选择一些PIN进行进一步授权。在这个主要步骤成功完成后,用户应该能够使用他的登录名和PIN(他之前自己选择的)进行身份验证。这些登录名和pin应该存储在我们的数据库中。我们还应该能够在必要时销毁该“会话”和PIN。我们预计web应用程序将拥有多达10000个注册用户,其中多达1000个用户同时在线。

我们也不打算使用任何单独的身份验证服务器,我们计划将安全性嵌入web应用程序(后端)本身。

我一直在研究两种不同的方法。首先是通常的Spring@EnableWebSecurity方法。这看起来很简单,但有些人说它会创建“会话”,这对服务器不好。会话会消耗大量内存,对性能的整体影响也会很糟糕。这是真的吗?

另一种方法是使用Spring Oauth2实现。我没有时间好好学习,这对我来说似乎有点过头了。是否值得为我们的需要而研究?(顺便说一句,我们没时间了)。

我还需要一些合适的数据库结构来满足安全需求。

所以问题是,对于我们的情况,什么是最好的方法?有没有解决类似问题的开源项目?我将非常感谢您的帮助。

谢谢你。

共有2个答案

路扬
2023-03-14

如果您要在会话中存储大量数据,会话应该只占用分配的内存。只要你不这样做,就不会有任何问题。您需要根据您可接受的安全性和用户体验水平做出自己的身份验证决定,没有一个“正确”的答案。Spring Security和会话已经在这里讨论过了没有会话我如何使用Spring Security?。

居英资
2023-03-14

无论使用什么技术进行身份验证,都需要会话来维护已验证用户的状态。您可以单独使用Spring security,也可以与Oauth2一起使用。

为了简单起见,我建议您可以使用带有令牌功能的Spring Security。

不过,你可以在Spring Security和Oauth上找到一个不错的博客。

使用Spring Security和OAuth2保护REST服务

欲了解更多信息,请访问此处

 类似资料:
  • 我一直在寻找使用各种AWS服务来处理我们下一个主要项目的基础设施。我们开始研究EC2实例上的docker容器,但在进一步研究AWS Lambda之后,这似乎是一条值得探索的道路。 使用AWS Lambda范例,我们只需使用Lambda函数作为逻辑粘合剂,将数据和事件(来自其他AWS服务)保存在一起。 例如,如果我们产品的用户创建了一个新记录,AWS Lambda可以在该事件中触发,我们可以调用La

  • 我正在尝试创建一个应用程序,我必须注册用户,我正在使用Firebase进行注册,一旦我将所有数据放入register,然后进入Firebase数据库,我发现我自己并不是在测试模式下创建数据库的注册用户。你能解释一下我可能做错了什么吗? 注册用户代码: 我正在使用实时数据库 规则Firebase:

  • 我试图扩展用户身份验证示例,这里也给出了这个示例,以便多个用户可以登录到服务器。我还想为每个用户分配一个不同的主目录。到目前为止,我还没有找到Apache SSHD API提供的任何此类实用程序,因此我尝试了以下解决方案,使用Apache FTPServer提供的实用程序。 我试图做的是:

  • 问题内容: 我正在开发一个使用Jersey框架的REST应用程序。我想知道如何控制用户身份验证。我搜索了很多地方,最近的文章是:http : //weblogs.java.net/blog/2008/03/07/authentication- jersey 。 但是,本文只能与GlassFish服务器和附加数据库一起使用。无论如何,在到达请求的REST资源之前,我是否可以在Jersey中实现一个接

  • 我正在使用预装的Visual Studio解决方案开发我的首批OAuth解决方案之一。 不过,同时我也希望我的服务器应用程序拥有“完全访问权限”。他们需要能够获得列表增加多个用户,删除东西等等。 下面是我的问题,我认为这些问题可以很容易地一起回答: 如何管理两个短期令牌(承载令牌?)连同永久令牌(API令牌?) 我在访问级别上有何不同,因此某些方法需要永久令牌? 在同一方法中,我在访问级别上有何不

  • 我有一个rest服务,实现如下- 我得到了所有的头和响应状态正确,但我没有得到json响应。这里怎么了?