Heim  >  Artikel  >  Java  >  So implementieren Sie SpringBoot Single Sign-On

So implementieren Sie SpringBoot Single Sign-On

王林
王林nach vorne
2023-05-25 11:43:061407Durchsuche

1. Spezifische Implementierungsschritte

Fügen Sie einen Interceptor hinzu, legen Sie die UUID als eindeutige Kennung fest und speichern Sie sie in der Datenbank in unserer Datenbank Wenn die Werte gleich sind, übergeben Sie

, andernfalls geben Sie false zurück, was anzeigt, dass Sie sich auf einem anderen Gerät oder Browser angemeldet haben

2 Codeanzeige

Zuerst erstellen wir ein neues Spring-Projekt

Fügen Sie Folgendes hinzu Abhängigkeiten

YML-Konfigurationsdatei

So implementieren Sie SpringBoot Single Sign-On

Server:

Port: 8080

Spring:
Datenquelle:

Treiberklassenname: com.mysql.cj.jdbc.Driver
URL: jdbc:mysql://127.0 .0.1:3306/userdb?characterEncoding=utf -8&&severTimezone=utc
Benutzername: root
Passwort: root
thymeleaf:
Modus: HTML5
Cache: false
Suffix: .html
Präfix: classpath:/templates/
mybatis:
Mapper-Locations: Klassenpfad: /mapper/* .xml #Mapper-Datei einführen
Type-aliases-package: com.bdqn.springsso.pojo #Typ-Alias ​​einführen


pom.xml-Konfigurationsdatei

<?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.7.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.bdqn</groupId>
    <artifactId>springsso</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springsso</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-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.2</version>
        </dependency>
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

Backend-Code

Erstellen Die folgenden Pakete im Java-Verzeichnis und Erstellen Sie das Mapper-Paket in Ressourcen. Schreiben Sie zuerst die Entitätsklasse der Pojo-Ebene größer sein, andernfalls wird ein Fehler gemeldet

Dann schreiben Sie die Konfigurationsebene MvcConfig

package com.bdqn.springsso.pojo;
import lombok.Data;
@Data
public class User {
    //用户id
    private Integer id;
    //账户
    private String username;
    //密码
    private String password;
    //uuid
    private String uuid;
}

Das letzte ist das Schreiben von userMapper.xml

package com.bdqn.springsso.mapper;
import com.bdqn.springsso.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface UserMapper {
    //根据姓名和密码查询
    User chekLogin(@Param("username") String username, @Param("password") String password);
    //根据姓名修改uuid
    void update(@Param("uuid") String uuid,@Param("username") String username);
    //根据姓名查询uuid
    String getUUID(@Param("username") String username);
}

Front-End-Code

So implementieren Sie SpringBoot Single Sign-Onlogin.html

package com.bdqn.springsso.service;
import com.bdqn.springsso.pojo.User;
public interface UserService {
    //根据姓名和密码查询
    User chekLogin(String username, String password);
    //根据姓名修改uuid
    void update(String uuid,String username);
}

index.html

package com.bdqn.springsso.service;
import com.bdqn.springsso.mapper.UserMapper;
import com.bdqn.springsso.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;
    @Override
    public User chekLogin(String username, String password) {
        return userMapper.chekLogin(username,password);
    }
    @Override
    public void update(String uuid,String username) {
        userMapper.update(uuid,username);
    }
}

Effektanzeige

Zuerst verwenden wir den Firefox-Browser, um betreiben

Geben Sie http://localhost: 8080 ein/Geben Sie die Anmeldeseite ein

Klicken Sie, um sich anzumelden

Klicken Sie zum Testen

Dann kehren wir zur Anmeldeerfolgsseite zurück

Dann verwenden Geben Sie in Google Chrome http://localhost:8080/ ein, um sich anzumelden.

Nach der Anmeldung gelangen Sie zur Anmeldeerfolgsseite Hyperlink, um festzustellen, dass die Seite zur Anmeldeseite springtSo implementieren Sie SpringBoot Single Sign-On

Zeigt an, dass der Single-Sign-On-Test erfolgreich war

So implementieren Sie SpringBoot Single Sign-On

Das obige ist der detaillierte Inhalt vonSo implementieren Sie SpringBoot Single Sign-On. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen