Spring Security
Spring Security是一个专注于为Java应用提供认证和授权的框架。基本上,它提供了将应用级安全应用于应用程序的方法。


春天安全认证
让我们通过一个真实的例子来理解Spring Security
假设我们开发了一个应用程序IPL管理系统,它有两个不同的服务,即用户服务和另一个是管理服务。现在我们需要确保该应用程序只能有一个管理员,他可以访问管理面板,并可以管理比赛、球队和相应的分数。因此,我们需要为该应用程序提供一些安全保障。我们可以在Spring boot Security的帮助下实现这个目标。我们必须在pom文件中添加spring boot security的依赖项。
Maven用户可以在pom.xml文件中添加以下依赖项。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
Gradle用户可以在build.gradle文件中添加以下依赖关系。
compile("org.springframework.boot:spring-boot-starter-security")
Spring Security的特点
- JAAS(Java Authentication and Authorization Service)LoginModule。
- 基本访问认证。
- Web表单认证。
- LDAP(轻量级目录访问协议)。
- 单点登录。
**JAAS LoginModule。**它是一个用Java实现的可插拔认证模块。Spring Security支持它的认证过程。
基本访问认证。Spring Security支持基本访问认证,用于在通过网络提出请求时提供用户名和密码。
Web表单认证。在这个过程中,Web表单从Web浏览器中收集并验证用户凭证。Spring Security支持它,同时我们要实现Web表单认证。
LDAP(轻量级目录访问协议)。它 是一个开放的应用协议,用于通过互联网协议维护和访问分布式目录信息服务。
**单点登录。**该功能允许用户在一个账户(用户名和密码)的帮助下访问多个应用程序。
认证和授权之间的区别
| 认证 | 授权 |
| 认证是识别用户以提供对系统的访问的过程。 | 授权是给予访问资源的权限的过程。 |
| 它需要用户的登录信息,如用户名和密码,等等。 | 它需要用户的权限或安全级别。 |
| 在这个过程中,用户或客户端和服务器被验证。 | 在这个过程中,要验证用户是否被允许通过定义的政策和规则。 |
认证和授权
让我们创建一个简单的spring boot应用程序来理解这个问题,在这个应用程序中,我们有一个RestController,它使用requestmapping注解,有一个字符串类型的方法。


在application.properties文件中,我们必须提供我们的用户名和密码。


因此,只要我们运行我们的应用程序,它就会运行,但它会要求你输入正确的凭证,否则我们就不能访问完整的应用程序。如果在classpath上添加了Spring Boot Security依赖项,Spring Boot应用程序就会自动要求对所有HTTP端点进行基本认证。
总结
所以,当我们开发一个大规模的软件时,在应用程序中实施Spring Security是非常重要的,它可以防止应用程序的重要部分被所有人访问。