成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

SpringSecurity原理有哪些

本篇內(nèi)容介紹了“SpringSecurity原理有哪些”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請(qǐng)域名、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設(shè)、清流網(wǎng)站維護(hù)、網(wǎng)站推廣。

前置知識(shí)

Spring Security主要是服務(wù)于Web應(yīng)用,Spring Security也主要是通過Java的Filter來實(shí)現(xiàn)。

Java的Web應(yīng)用兩大核心就是:

  1. Servlet

  2. Filter

很多朋友可能已經(jīng)忘了在沒有SpringMVC之前被java的web.xml配置支配的恐懼。

如果對(duì)此沒有印象的朋友,或者完全沒有使用過的朋友,可以看下面的web.xml配置回憶一下,看還能不能記得每個(gè)配置的含義。

<?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>

上面的配置還是只是一個(gè)簡單的Servet和一個(gè)Filter。

Java Web的整個(gè)流程還簡單,就是Servelt容器,也就是Java Web服務(wù)器,如,Tomcat、Jetty等啟動(dòng)的時(shí)候回去加載web.xml文件,解析里面的配置,主要是Servlet和Filter,把url和Servlet、Filter對(duì)應(yīng)上,這樣當(dāng)接收都一個(gè)url請(qǐng)求的時(shí)候,就交個(gè)對(duì)應(yīng)的Filter和Servlet去處理。

先Filter后Servlet的,F(xiàn)ilter可以有多個(gè),是鏈?zhǔn)浇Y(jié)構(gòu),有優(yōu)先級(jí)。

web.xml配置方式的最大的問題就是,url映射配置復(fù)雜,稍不小心就404。

后來有了SpringMVC就好了一些,只需要配置一個(gè)Servlet,都交給org.springframework.web.servlet.DispatcherServlet這個(gè)Servlet統(tǒng)一處理url的映射分發(fā),Spring自己去解析Controller注解,把url和對(duì)應(yīng)的方法對(duì)應(yīng),不用自己去配置url映射了。

再后來有了SpringBoot,簡直就起飛了,DispatcherServlet都不需要配置了,開箱即用。

雖然,不需要手動(dòng)配置了,原理還是要了解一點(diǎn),這里我們只需要記住,Java的Web請(qǐng)求都是要先過Filter的,而這是Spring Security施展身手的地方。

簡單的示例

如果一上來就直接說一下抽象概念,很多朋友可能就放棄治療了。所以,我們先來一個(gè)簡單的入門級(jí)示例,在門口看一下Spring Security是個(gè)啥東西。

SpringSecurity原理有哪些

pom依賴

首先,要引入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

上面配置了一個(gè)用戶tim,密碼是111111,如果不配置,Spring Security會(huì)使用默認(rèn)用戶,每次會(huì)生成隨機(jī)密碼。

控制器

添加一個(gè)簡單的控制器

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";
    }
}

啟動(dòng)類

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);
	}
}

登錄界面

啟動(dòng)之后,直接訪問:http://localhost:8081/index/hello

然后,就會(huì)被重定向到:http://localhost:8081/login

SpringSecurity原理有哪些

需要輸入用戶名和密碼,這個(gè)過程有一個(gè)專有名詞叫:認(rèn)證,Authentication

“SpringSecurity原理有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

文章題目:SpringSecurity原理有哪些
轉(zhuǎn)載來于:http://jinyejixie.com/article10/ppsedo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化網(wǎng)站制作、商城網(wǎng)站微信公眾號(hào)、ChatGPT、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作
屏南县| 安吉县| 长海县| 彩票| 灵璧县| 齐齐哈尔市| 鄂托克前旗| 依兰县| 阜新市| 容城县| 遂昌县| 汶上县| 宁强县| 聊城市| 精河县| 翁源县| 翁牛特旗| 南投市| 长泰县| 若尔盖县| 普兰店市| 来凤县| 中宁县| 乌鲁木齐县| 阿瓦提县| 武城县| 凤冈县| 石阡县| 元阳县| 石景山区| 常州市| 泗洪县| 彰武县| 萍乡市| 海宁市| 安吉县| 静安区| 乌苏市| 田阳县| 铁力市| 延边|