📅  最后修改于: 2023-12-03 15:20:13.654000             🧑  作者: Mango
在开发 web 应用时,身份验证是一个重要的安全措施。Spring Security 提供了丰富的身份验证和授权功能,开发者可以很容易地在应用程序中集成。
下面是如何在 Spring Security 中添加用户名和密码:
在项目中的 pom.xml
文件中添加以下依赖项:
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>
在应用程序中添加一个 Spring Security 配置文件 security-config.xml
,其中包含以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:security="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security.xsd">
<security:http>
<security:intercept-url pattern="/**" access="hasRole('USER')" />
<security:http-basic />
</security:http>
<security:authentication-manager>
<security:authentication-provider>
<security:user-service>
<security:user name="admin" password="password" authorities="USER" />
</security:user-service>
</security:authentication-provider>
</security:authentication-manager>
</beans>
<security:http>
标签指定了应用程序中需要保护的 URL,并使用基本身份验证。在此示例中,除了登录页外,其他所有页面都需要验证用户。<security:authentication-manager>
标签配置了身份验证管理器。在此示例中,我们只有一个用户“admin”,密码为“password”,拥有“USER”角色。配置 web.xml,使 Spring Security 过滤器可以被应用到 web 请求中。
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
现在,启动应用程序并访问任意 URL,将看到以下输出:
在弹出的对话框中输入设置的用户名和密码即可成功登录。
以上就是在 Spring Security 中添加用户名和密码的方法。Spring Security 提供了强大且易于配置的身份验证和授权功能,可以帮助开发者更轻松地保护应用程序的安全性。