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
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 MvcConfigpackage 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; }
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
login.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
Nach der Anmeldung gelangen Sie zur Anmeldeerfolgsseite Hyperlink, um festzustellen, dass die Seite zur Anmeldeseite springt
Zeigt an, dass der Single-Sign-On-Test erfolgreich warDas 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!