春季安全 XML
Spring Security是一种为 Spring 应用程序提供身份验证和授权的强大方法。 Spring Security 是一个强大的工具,它为用户提供了自定义安全配置的功能,spring 中的安全配置可以通过以下两种方式进行自定义:
- 基于 XML 的配置
- Java配置。
实现:在这里,我们将创建一个 Spring MVC Web 应用程序并添加基于 xml 的配置。
Prerequisites: Introduction to Spring
在 Spring MVC 中创建基于 XML 的配置的步骤
第 1 步:创建一个maven webapp 项目,我们使用 Eclipse IDE来创建这个项目。在创建 maven 项目时,选择该项目的原型为maven-archetype-webapp。输入项目的组 ID 和工件 ID,然后单击“完成”。
第 2 步:创建项目后,您的项目结构将如下所示:
pom.xml文件定义了项目所需的所有依赖项。确保添加此文件中提到的所有依赖项,以使您的项目正常工作。
文件:pom.xml
XML
4.0.0
com.gfg
SpringSecurityXmlConfig
0.0.1-SNAPSHOT
war
SpringSecurityXmlConfig Maven Webapp
http://www.example.com
UTF-8
1.7
1.7
junit
junit
4.11
test
org.springframework
spring-webmvc
5.3.16
org.springframework.security
spring-security-web
5.6.2
org.springframework.security
spring-security-core
5.6.2
org.springframework.security
spring-security-config
5.6.2
javax.servlet
javax.servlet-api
4.0.1
provided
SpringSecurityXmlConfig
maven-clean-plugin
3.1.0
maven-resources-plugin
3.0.2
maven-compiler-plugin
3.8.0
maven-surefire-plugin
2.22.1
maven-war-plugin
3.2.2
maven-install-plugin
2.5.2
maven-deploy-plugin
2.8.2
XML
gfg
org.springframework.web.servlet.DispatcherServlet
1
gfg
/
org.springframework.web.context.ContextLoaderListener
springSecurityFilterChain
org.springframework.web.filter.DelegatingFilterProxy
springSecurityFilterChain
/*
contextConfigLocation
/WEB-INF/gfg-servlet.xml
/WEB-INF/spring-security.xml
XML
XML
Java
// Java Program to Illustrate WelcomeController Class
package com.gfg.controller;
// Importing required classes
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
// Annotation
@Controller
// Class
public class WelcomeController {
// Method 1
@RequestMapping(value = "/", method = RequestMethod.GET)
public String welcome()
{
return "welcome";
}
// Method 2
@RequestMapping(value = "/admin",
method = RequestMethod.GET)
public String
admin()
{
return "admin";
}
}
HTML
Admin
Welcome Admin
HTML
Home Page
Welcome to Spring Security using XML Configuration!
web.xml定义了与不同 URL 和 servlet 的映射,以处理对这些 URL 的请求。 Spring DelegatingFilterProxy 提供 web.xml 和应用程序上下文之间的链接。
文件:web.xml
XML
gfg
org.springframework.web.servlet.DispatcherServlet
1
gfg
/
org.springframework.web.context.ContextLoaderListener
springSecurityFilterChain
org.springframework.web.filter.DelegatingFilterProxy
springSecurityFilterChain
/*
contextConfigLocation
/WEB-INF/gfg-servlet.xml
/WEB-INF/spring-security.xml
gfg-servlet.xml文件处理 Web 应用程序的所有 HTTP 请求。注解驱动启用spring注解类。组件扫描根据定义的注解定位和分配bean。 bean 配置有助于识别和定位项目中的JSP文件。
文件:gfg-servlet.xml
XML
这是您定义spring安全配置的地方,http bean有助于拦截文件中提到的所有http调用, authentication-manager中的authentication-provider中的用户服务使用用户名为应用程序创建一个用户,密码和该用户的角色。
XML
com.gfg.controller包中的WelcomeController类定义了 url 的映射,在这个项目中,我们为两个 URL 定义了两个GET方法。 Welcome 方法重定向到主页视图页面,而 admin 方法重定向到管理视图页面。
文件:欢迎控制器。Java
Java
// Java Program to Illustrate WelcomeController Class
package com.gfg.controller;
// Importing required classes
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
// Annotation
@Controller
// Class
public class WelcomeController {
// Method 1
@RequestMapping(value = "/", method = RequestMethod.GET)
public String welcome()
{
return "welcome";
}
// Method 2
@RequestMapping(value = "/admin",
method = RequestMethod.GET)
public String
admin()
{
return "admin";
}
}
This is the admin.jsp page in the views folder.
HTML
Admin
Welcome Admin
这是views 文件夹中的welcome.jsp页面。
HTML
Home Page
Welcome to Spring Security using XML Configuration!
第 3 步:创建所有配置文件和类后,您的项目将如下所示:
第 4 步:现在我们已经完成了我们的项目,是时候在 tomcat 服务器上运行它了,只需启动 tomcat 服务器并输入http:localhost:8080/SpringSecurityXmlConfig/login 即可。