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

基本的用户名和密码检查而不是 Spring 安全性

谢奕
2023-03-14

我们可以通过以下方式对用户进行身份验证:(1)。获取用户名和密码,并直接与数据库进行检查。(2)。使用Spring Security(将获取用户名和密码)

如果我的应用程序不需要对某些endpoint进行授权,那么在这种情况下,第(1)点将是有用的,因为它不需要处理代码。

我的理解正确吗?除了授权的额外优势之外,这里还有其他优势吗?在(1)点中,它仍然是对用户进行身份验证的正确方法吗?

共有1个答案

殳飞扬
2023-03-14

springframework中的<code>springsecurity</code>模块的全部原因是在安全层上有一些专用的框架,这样构建应用程序的正常公司或开发人员就不必总是协调他们如何实现安全性,以及他们的安全层是否存在漏洞。

在您的示例中,我们可以说springsecurity还将能够加密密码,从而不会将实际密码存储在数据库中。因此,如果有人可以访问数据库,则不会自动公开凭证。

另一种情况是springsecurity中的主要对象,它在身份验证后将隐藏密码。因此,您可以传输此对象以查看有关登录用户的信息,但如果有中间人攻击设法解释对象的状态,则凭据不容易被泄露。

springsecurity模块中包含了更多的最佳实践,以便为应用程序提供额外的安全性并防止攻击。

因此,总结使用spring-security并在登录中提供的最基本的凭据概念上使用您自己的身份验证机制,与数据库相比是一样的,但实现会有很大不同,因为spring-security模块提供了更多的东西来阻止攻击者,而不仅仅是这个概念的实现。

 类似资料:
  • 我正在使用Spring Security开发一个简单的Spring启动应用程序。我硬编码了用户名和密码,但问题是我可以用任何用户名登录,只有密码由Spring Security检查。 以下是代码: MyUserDetails服务类: Rest控制器类: 我将用户名“john”和密码“test”硬编码为BCrypt加密。但问题是,我可以用任何用户名登录,只有密码应该是“test”。谁能解释一下原因吗

  • 我正在为后端开发一个使用带有REST API的PhoneGap的移动应用程序。REST API不会被第三方开发人员使用,而是特定于应用程序的,因此不需要实现oAuth。因此,我计划使用基本身份验证,即用户输入用户名/密码来访问API资源。所有API通信都将在SSL上。 与其让应用程序存储username/password并将其与每个请求一起发送给API,我宁愿在第一个登录请求时验证username

  • 问题内容: 我让人们在氏族中提交用户名和密码,然后我需要知道使用此代码将其提交到数据库中是否安全,或者在数据库中是否安全。 我使用参数来避免SQL注入攻击。 -------------------------------------------------- -------------------------------- 这不是重复的,因为以不同的方式询问和存储密码。它使用MD5哈希密码。 问题

  • 你好,我是Spring和Spring保安新来的。目前我正在Spring开发rest api。根据spring提供rest API。rest api是无状态的,所以我们不能创建到rest api的会话。因为它是一个无状态的,如果我们这样做,那么它是违反rest设计的。所以我的问题是,在REST中,我们是不是可以永远保持服务器端用户的状态?我们可以维护它的客户端吗??怎么做??在spring basi

  • 我正在使用cloudera VM,我想连接到beeline,但当我离开时,它询问用户名和密码,它没有连接。谁能告诉我用户名和密码。 !连接JDBC:hive2://localhost:10000/连接到JDBC:hive2://localhost:10000/输入JDBC:hive2://localhost:10000/输入JDBC:hive2://localhost:10000/输入密码:错误:

  • 我在我的应用程序中使用Spring MVC,登录是通过Spring Security验证的。我有以下两个方法在我的类,公共User细节loadUserByUsername(String userName)抛出UsernameNotFoundExc0019,DataAccessExc0019{ 我对Spring比较陌生,对Spring的安全性部分不太了解。在我的文件,我有以下内容, 我的登录表单的操

  • 我正在开发一个spring boot网络应用程序。问题出在登录场景中。假设我有一个用户名为“阿里”注册的用户。此用户可以使用用户名“ali”或“ali”登录。下面的代码表示我的spring安全配置类。似乎在比较时,spring boot没有检查大小写因子,但我希望它被检查。 我还在类中实现了方法:

  • 问题内容: 我的Django应用程序中有一个表单(不在admin中),该表单允许工作人员从下拉列表中选择用户。 问题在于该下拉列表按用户名显示用户,而我希望它从user.get_full_name()中显示其全名,并且仅在不可用时才使用用户名。我只需要在此页面上进行此更改,在其他地方(例如admin),我不在乎它是否使用用户名。 有办法吗? 问题答案: 你可以设置一个自定义,该自定义将返回你想要的