Spring Security Java 示例2025 年 3 月 18 日 | 3 分钟阅读 Spring Framework 在 Spring 3.1 中添加了 Java 配置支持。在 Spring Security 中,Java 配置被添加到 Spring Security 3.2 中,这使我们能够在不编写单行 XML 的情况下配置 Spring Security。 在这里,我们将创建一个示例,该示例实现 Spring Security 并在不使用 XML 的情况下进行配置。它包括以下步骤。 步骤 1第一步是创建 Spring Security Java 配置。 一个简单的基本 Java 配置如下所示。 WebSecurityConfig.java 此配置创建一个名为 springSecurityFilterChain 的 Servlet 过滤器。 它负责保护应用程序 URL、验证提交的用户名和密码、重定向到登录表单等。 上面的 Java 配置为我们的应用程序执行以下操作。
步骤 2现在,我们将使用 war 注册 springSecurityFilterChain。 要注册,Spring Security 提供了一个基类 AbstractSecurityWebApplicationInitializer,我们需要扩展该基类。 对于 Spring MVC 应用程序,SecurityWebApplicationInitializer 看起来像下面这样。 SecurityWebApplicationInitializer.java 此代码将为我们应用程序中的每个 URL 注册 springSecurityFilterChain。 步骤 3现在,在现有的 ApplicationInitializer 中加载 WebSecurityConfig,并将其添加到 getRootConfigClasses() 方法中。 MvcWebApplicationInitializer.java 步骤 4WebSecurityConfigurerAdapter 类提供了一个 configure(HttpSecurity http) 方法,其中包含以下默认配置。 默认定义如下所示。 它类似于给定的 XML。 此方法执行以下操作。
步骤 5创建一个控制器来处理用户请求。 HomeController.java 我们有一个视图 (.jsp) 页面 index.jsp,其中包含以下源代码。 我们的完整项目如下所示。 ![]() 输出 我们的控制器中只有一个操作,只有经过身份验证的用户才能访问它。 因此,当我们运行该应用程序时,它会提示输入登录凭据。 输出如下所示。 ![]() 这是 Spring Security 提供的默认登录页面,我们没有创建它。 尽管我们可以创建自己的登录页面并使用应用程序进行配置。 我们将在接下来的主题中进行此操作。 好吧,现在,提供登录凭据以进入应用程序资源。 Spring Security 验证用户凭据,并确保用户是经过身份验证的。 让我们看看,如果我们输入错误的凭据会发生什么? ![]() 单击登录按钮后,它会抛出 Bad Credentials 错误。 ![]() 现在,使用正确的凭据登录。 ![]() 这次凭据匹配并显示我们的主页 (index.jsp)。 ![]() 下一个主题Spring Security 登录注销 |
我们请求您订阅我们的新闻通讯以获取最新更新。