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中。我们可以在不打扰其他数据库的情况下进行身份验证。这节省了我们的时间,也提高了效率。
授权
在验证用户之后,下一步是验证特定用户被允许执行的操作的类型,这个活动被称为授权。例如,HR管理系统有两种类型的用户,一个是员工,另一个是管理员。员工的权限与管理员存在一些差异。一个普通的员工不能添加、更新或删除任何类型的信息,而管理员可能有这样的权利。
让我们用非常简单的话来理解Spring Security中的授权工作原理。在认证过程中,生成一系列’GrantedAuthority’对象。这些对象代表了确定用户或系统获得的权力。然后,这些对象由’AuthenticationManager’插入到’Authentication’对象中。然后,在进行授权决策的过程中,’AccessDecisionMangers’会读取’GrantedAuthority’对象。
密码编码
全球范围内,大部分设备由于密码弱而遭受黑客和网络钓鱼攻击。当然,加强密码是另一个话题。我们在这里讨论的是Spring Security采取的安全措施。
最糟糕的错误可能是将用户的密码存储在明文中。值得庆幸的是,Spring Security允许使用各种密码编码器方法,如MD5和scrypt。默认情况下,使用BCrypt加密密码。所有这些技术都属于哈希算法,我们不需要自己开发它们,它们已经在”元素中写好。
主体
这个术语在Spring Security框架中具有特殊的意义。它指的是与您的应用程序交互并执行任何类型的操作的用户、设备或任何类型的系统。
过滤器
为了应用其服务,Spring Security使用一系列过滤器。当一个请求来自客户端时,它首先经过这些过滤器的处理,然后再执行。下面讨论了一些过滤器的用例。
- BasicAuthenticationFilter − 这个过滤器负责用户的基本身份验证。
-
FormBasedAuthenticationFilter − 它对来自基于表单的登录技术的请求进行身份验证。
-
CsrfFilter − 它处理跨站点请求。
-
CorsFilter − 这个过滤器处理跨域资源共享。
结论
Spring Security框架主要针对身份验证和授权这两个主要领域。在本文中,我们讨论了Spring Security利用的各种技术和方法,使应用程序更安全。大多数功能都是可完全自定义的,可以根据我们的需求进行配置。