Spring Security 中的一些重要术语


Spring 是目前最流行的 Java Web 框架。它用于通过 Java 编程语言构建 Web 应用程序。要使用此框架,需要具备扎实的 Java 背景和理解。

保护我们的宝贵数据免受不道德行为至关重要。在本文中,我们将介绍 Spring Security 中的一些重要术语,这些术语有助于我们保护用户数据。我们不会深入分析任何术语。

与 Spring Security 相关的术语

Spring Security 是一个开源安全框架,并作为 Spring 应用程序的全面安全解决方案。它可以轻松地与 Spring 和 Spring Boot 框架集成。它处理应用程序安全的主要领域,例如身份验证、授权、CSRF 等。

让我们讨论一些与 Spring Security 相关的术语 -

身份验证

这是检查或验证与应用程序交互的用户身份的过程。这是最重要的步骤,因为要使用应用程序的其他服务,必须验证用户的身份。验证用户的一种常见做法是输入用户名和密码。Spring Security 拥有自己的一套身份验证功能,可以与以下技术集成 -

  • HTTP 身份验证。

  • LDAP,提供跨平台的身份验证需求。

  • OpenID 身份验证。

  • 基于表单的身份验证

  • 自动身份验证,例如“记住我”,是登录表单上提供的复选框,用于避免在一段时间内重新进行身份验证。

Spring Security 具有一个称为内存中身份验证的出色功能,它允许将用户数据存储在应用程序内存或 RAM 中。我们可以执行身份验证而无需考虑其他数据库。它节省了我们的时间并提高了效率。

授权

在对用户进行身份验证后,下一步是验证特定用户允许执行哪些操作,此活动称为授权。例如,人力资源管理系统有两种类型的用户,一种是员工,另一种是管理员。员工和管理员的权限之间存在一些差异。普通员工无法添加、更新或删除任何信息,而管理员可能有权这样做。

让我们用非常简单的语言了解 Spring Security 中的授权是如何工作的。在身份验证过程中,会创建一个“GrantedAuthority”对象的列表。这些对象表示授予特定用户或系统的权限。然后,这些对象由“AuthenticationManager”插入“Authentication”对象中。稍后,在进行授权决策的过程中,“AccessDecisionMangers”读取“GrantedAuthority”对象。

密码编码

在全球范围内,大多数设备由于密码薄弱而遭到黑客攻击并面临网络钓鱼攻击。显然,加强密码是另一个话题。我们将在本文中讨论 Spring Security 采取的安全措施。

最糟糕的错误可能是以纯文本形式存储用户密码。值得庆幸的是,Spring Security 允许使用各种密码编码方法,例如 MD5 和 scrypt。默认情况下,使用 BCrypt 加密密码。所有这些技术都属于散列算法,我们无需自己开发它们。它们写在“<password-encoder>”元素中。

主体

此术语在 Spring Security 框架中具有特殊含义。它指的是与您的应用程序交互并执行任何操作的用户、设备或任何类型的系统。

过滤器

为了应用其服务,Spring Security 使用了一系列过滤器。每当来自客户端的请求到达时,它首先会经过这些过滤器,然后再执行。下面讨论了一些过滤器的用例 -

  • BasicAuthenticationFilter - 此过滤器负责用户的基本身份验证。

  • FormBasedAuthenticationFilter - 它对来自基于表单的登录技术的请求进行身份验证。

  • CsrfFilter - 它处理跨站点请求。

  • CorsFilter - 此过滤器处理跨源资源共享。

结论

Spring Security 框架针对的两个主要领域是身份验证和授权。在本文中,我们讨论了 Sprind Security 用于使应用程序安全的各种技术和方法。大多数功能都是完全可定制的,可以根据我们的需要进行配置。

更新于: 2023年5月15日

155 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.