本篇內容介紹了“SpringSecurity原理有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:申請域名、網頁空間、營銷軟件、網站建設、清流網站維護、網站推廣。
Spring Security主要是服務于Web應用,Spring Security也主要是通過Java的Filter來實現(xiàn)。
Java的Web應用兩大核心就是:
Servlet
Filter
很多朋友可能已經忘了在沒有SpringMVC之前被java的web.xml配置支配的恐懼。
如果對此沒有印象的朋友,或者完全沒有使用過的朋友,可以看下面的web.xml配置回憶一下,看還能不能記得每個配置的含義。
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name>terrible</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> <filter> <display-name>EcodingFilter</display-name> <filter-name>EcodingFilter</filter-name> <filter-class>vip.mycollege.filter.EnCodeFilter</filter-class> <init-param> <param-name>EncodeCoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>EcodingFilter</filter-name> <servlet-name>hello</servlet-name> <url-pattern>*</url-pattern> </filter-mapping> <servlet> <servlet-name>hello</servlet-name> <servlet-class></servlet-class> </servlet> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app>
上面的配置還是只是一個簡單的Servet和一個Filter。
Java Web的整個流程還簡單,就是Servelt容器,也就是Java Web服務器,如,Tomcat、Jetty等啟動的時候回去加載web.xml文件,解析里面的配置,主要是Servlet和Filter,把url和Servlet、Filter對應上,這樣當接收都一個url請求的時候,就交個對應的Filter和Servlet去處理。
先Filter后Servlet的,F(xiàn)ilter可以有多個,是鏈式結構,有優(yōu)先級。
web.xml配置方式的最大的問題就是,url映射配置復雜,稍不小心就404。
后來有了SpringMVC就好了一些,只需要配置一個Servlet,都交給org.springframework.web.servlet.DispatcherServlet這個Servlet統(tǒng)一處理url的映射分發(fā),Spring自己去解析Controller注解,把url和對應的方法對應,不用自己去配置url映射了。
再后來有了SpringBoot,簡直就起飛了,DispatcherServlet都不需要配置了,開箱即用。
雖然,不需要手動配置了,原理還是要了解一點,這里我們只需要記住,Java的Web請求都是要先過Filter的,而這是Spring Security施展身手的地方。
如果一上來就直接說一下抽象概念,很多朋友可能就放棄治療了。所以,我們先來一個簡單的入門級示例,在門口看一下Spring Security是個啥東西。

首先,要引入Spring Security依賴,如果使用SpringBoot,引入非常簡單
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.5</version> <relativePath/> </parent> <groupId>vip.oschool</groupId> <artifactId>spsecurity</artifactId> <version>0.0.1-SNAPSHOT</version> <name>spsecurity</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> </project>
server: port: 8081 spring: security: user: name: tim password: 111111
上面配置了一個用戶tim,密碼是111111,如果不配置,Spring Security會使用默認用戶,每次會生成隨機密碼。
添加一個簡單的控制器
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/index")
public class IndexController {
@RequestMapping("/hello")
public String hello(){
return "Hello World";
}
}import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class StartApplication {
public static void main(String[] args) {
SpringApplication.run(StartApplication.class, args);
}
}啟動之后,直接訪問:http://localhost:8081/index/hello
然后,就會被重定向到:http://localhost:8081/login

需要輸入用戶名和密碼,這個過程有一個專有名詞叫:認證,Authentication
“SpringSecurity原理有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網站,小編將為大家輸出更多高質量的實用文章!
文章題目:SpringSecurity原理有哪些
轉載來于:http://chinadenli.net/article10/ppsedo.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供關鍵詞優(yōu)化、網站制作、商城網站、微信公眾號、ChatGPT、網站收錄
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)