国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

springboot獲取登錄用戶的個(gè)人信息

這篇具有很好參考價(jià)值的文章主要介紹了springboot獲取登錄用戶的個(gè)人信息。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

在Spring Boot中,獲取登錄用戶的個(gè)人信息通常需要使用Spring Security框架來進(jìn)行身份認(rèn)證和授權(quán)。Spring Security提供了一個(gè)名為SecurityContextHolder的上下文對(duì)象,它包含了當(dāng)前請(qǐng)求的身份認(rèn)證信息。通過SecurityContextHolder,可以訪問當(dāng)前已認(rèn)證的用戶的信息。

1.Pojo實(shí)體類

當(dāng)使用 Spring Boot + Spring Security 構(gòu)建 Web 應(yīng)用程序時(shí),我們需要定義用戶實(shí)體類來存儲(chǔ)用戶信息。以下是一個(gè)基本的 User 實(shí)體類

@Entity
@Table(name = "users")
public class User implements UserDetails {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    
    @Column(nullable = false, unique = true)
    private String username;
    
    @Column(nullable = false)
    private String password;
    
    @Column(nullable = false)
    private String fullName;
    
    @Column(nullable = false, unique = true)
    private String email;
    
    // 用戶角色定義為一個(gè)字符串,用逗號(hào)分隔
    @Column(nullable = false)
    private String roles;
    
    // 其他字段和方法
    
    // UserDetails 方法的實(shí)現(xiàn)
    
    @Override
    public Collection<? extends GrantedAuthority> getAuthorities() {
        return Arrays.stream(roles.split(","))
                .map(SimpleGrantedAuthority::new)
                .collect(Collectors.toList());
    }

    @Override
    public boolean isAccountNonExpired() {
        return true;
    }

    @Override
    public boolean isAccountNonLocked() {
        return true;
    }

    @Override
    public boolean isCredentialsNonExpired() {
        return true;
    }

    @Override
    public boolean isEnabled() {
        return true;
    }
}

在這個(gè)例子中,User 實(shí)體類使用 @Entity @Table 注解進(jìn)行了標(biāo)記,表明它是一個(gè) JPA 實(shí)體類,并且對(duì)應(yīng)了一個(gè)名為 users 的數(shù)據(jù)庫(kù)表。實(shí)體類中包含了一些基本的屬性,例如 id、username、password、fullName email。另外,roles 屬性定義了用戶的角色,這是一個(gè)字符串,多個(gè)角色之間用逗號(hào)分隔。

User 實(shí)體類實(shí)現(xiàn)了 UserDetails 接口,該接口包含了一些必須實(shí)現(xiàn)的方法,用于獲取用戶的授權(quán)信息。在 getAuthorities() 方法中,我們將用戶的角色字符串分割成多個(gè)角色,并將其轉(zhuǎn)換為 Spring Security 中的 GrantedAuthority 對(duì)象。其余的方法返回的都是 true,表示這些限制條件都沒有被啟用。

你還可以根據(jù)你的業(yè)務(wù)需求對(duì) User 實(shí)體類進(jìn)行擴(kuò)展或修改。

要獲取已認(rèn)證用戶的信息,可以在控制器方法中注入Authentication對(duì)象,然后從該對(duì)象中獲取用戶信息。例如:

2. Controller層

import org.springframework.security.core.Authentication;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {

    @GetMapping("/me")
    public UserDetails getUserDetails(Authentication authentication) {
        return (UserDetails) authentication.getPrincipal();
    }
}

在上面的代碼中,使用@GetMapping注解將控制器方法映射到“/me”路徑。方法中注入Authentication對(duì)象,并從該對(duì)象中獲取Principal,即已認(rèn)證用戶的信息。由于Spring Security默認(rèn)使用UserDetailsService來加載用戶信息,因此Principal通常是UserDetails對(duì)象。

如果您想要訪問更多的用戶信息,可以自定義一個(gè)UserDetailsService,通過UserDetailsService從數(shù)據(jù)庫(kù)或其他數(shù)據(jù)源中加載用戶信息。然后,您可以通過從Principal中獲取用戶名或其他標(biāo)識(shí)符來檢索用戶信息。

當(dāng)使用Spring Security進(jìn)行身份認(rèn)證時(shí),需要實(shí)現(xiàn)UserDetailsService接口來加載用戶信息。UserDetailsService接口只有一個(gè)方法:loadUserByUsername,該方法返回一個(gè)實(shí)現(xiàn)了UserDetails接口的對(duì)象,該對(duì)象包含有關(guān)用戶的信息。

下面是一個(gè)簡(jiǎn)單的UserDetailsService類的示例,它從內(nèi)存中的用戶列表中加載用戶信息:

3.?Service層

import java.util.ArrayList;
import java.util.List;

import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;

public class MyUserDetailsService implements UserDetailsService {

    private List<User> users = new ArrayList<>();

    public MyUserDetailsService() {
        users.add(new User("user1", "password1", getAuthorityList("ROLE_USER")));
        users.add(new User("user2", "password2", getAuthorityList("ROLE_USER")));
        users.add(new User("admin", "password", getAuthorityList("ROLE_USER", "ROLE_ADMIN")));
    }

    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
        for (User user : users) {
            if (user.getUsername().equals(username)) {
                return user;
            }
        }
        throw new UsernameNotFoundException("User not found with username: " + username);
    }

    private List<GrantedAuthority> getAuthorityList(String... roles) {
        List<GrantedAuthority> authorityList = new ArrayList<>();
        for (String role : roles) {
            authorityList.add(new SimpleGrantedAuthority(role));
        }
        return authorityList;
    }
}

在上面的代碼中,MyUserDetailsService類實(shí)現(xiàn)了UserDetailsService接口,并重寫了loadUserByUsername方法。該方法首先檢查用戶列表中是否存在與傳遞的用戶名匹配的用戶,如果找到該用戶,則將其作為UserDetails對(duì)象返回。否則,拋出UsernameNotFoundException異常。

4. Spring Security配置類

在這個(gè)例子中,用戶列表是硬編碼在MyUserDetailsService類中的。在實(shí)際應(yīng)用中,您將從數(shù)據(jù)庫(kù)或其他數(shù)據(jù)源中獲取用戶信息,并在loadUserByUsername方法中使用它。此外,您還可以根據(jù)需要添加更多的用戶屬性,例如電子郵件地址、電話號(hào)碼等。

最后,值得一提的是,在實(shí)現(xiàn)UserDetailsService接口時(shí),請(qǐng)務(wù)必確保密碼已被加密并保存為哈希值。在本示例中,密碼是明文存儲(chǔ)的,但在實(shí)際應(yīng)用中,應(yīng)使用Spring Security提供的密碼編碼器來對(duì)密碼進(jìn)行加密。

以下是一份完整的示例代碼,包括一個(gè)自定義的UserDetailsService和Spring Security配置類:

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Autowired
    private UserDetailsService userDetailsService;

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(userDetailsService).passwordEncoder(new BCryptPasswordEncoder());
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
                .antMatchers("/admin/**").hasRole("ADMIN")
                .antMatchers("/user/**").hasAnyRole("ADMIN", "USER")
                .antMatchers("/").permitAll()
                .and().formLogin()
                .and().logout().logoutSuccessUrl("/login").permitAll();
    }

}

class MyUserDetailsService implements UserDetailsService {

    private List<User> users = new ArrayList<>();

    public MyUserDetailsService() {
        users.add(new User("user1", "$2a$10$HKV7WJB/FNH8/3wXXtGB0.bDrxPlheBlsHSDkOizQ94RyL5v5n5oy", getAuthorityList("ROLE_USER")));
        users.add(new User("user2", "$2a$10$L9.Jir1vH6Wjtr8ZnI6FseV6rHdLWnV7yI0g1lV7vLmFFopW8VzU6", getAuthorityList("ROLE_USER")));
        users.add(new User("admin", "$2a$10$5aJN5O5pyrgQMDR.Ta5/0.hxOeSw/3nm3q9XcVvBIzDdtyA8DPZ3C", getAuthorityList("ROLE_USER", "ROLE_ADMIN")));
    }

    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
        for (User user : users) {
            if (user.getUsername().equals(username)) {
                return user;
            }
        }
        throw new UsernameNotFoundException("User not found with username: " + username);
    }

    private List<GrantedAuthority> getAuthorityList(String... roles) {
        List<GrantedAuthority> authorityList = new ArrayList<>();
        for (String role : roles) {
            authorityList.add(new SimpleGrantedAuthority(role));
        }
        return authorityList;
    }

}

上面的代碼包含了一個(gè)自定義的UserDetailsService實(shí)現(xiàn)類和一個(gè)Spring Security配置類。以下是代碼中的一些要點(diǎn):

5. 測(cè)試注意事項(xiàng)

MyUserDetailsService類:這是一個(gè)自定義的UserDetailsService實(shí)現(xiàn)類,用于從硬編碼的用戶列表中加載用戶信息。在loadUserByUsername方法中,根據(jù)傳遞的用戶名

以下是使用Postman測(cè)試API接口的步驟:

  1. 打開Postman軟件并創(chuàng)建一個(gè)新的請(qǐng)求。在請(qǐng)求的URL地址欄中輸入API接口的URL,例如http://localhost:8080/user/info

  2. 點(diǎn)擊請(qǐng)求方式旁邊的下拉菜單,選擇HTTP請(qǐng)求方法,例如GET方法。

  3. 在請(qǐng)求頭(Headers)中添加必要的認(rèn)證信息,例如添加一個(gè)Authorization頭,其值為Bearer加上訪問令牌(access token),例如Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyMSIsInJvbGUiOiJVU0VSIiwiaWF0IjoxNTE2MjM5MDIyfQ.kNqr5ZCw5vFh1dW8Kq3t_ZL-3q_kh12VTWg_w8mZisI

  4. 如果API接口需要傳遞請(qǐng)求參數(shù),可以在請(qǐng)求參數(shù)(Params)中添加參數(shù)名和參數(shù)值。

  5. 點(diǎn)擊發(fā)送按鈕,發(fā)送請(qǐng)求并查看響應(yīng)結(jié)果。

  6. 如果請(qǐng)求成功,可以在響應(yīng)結(jié)果中看到API接口返回的數(shù)據(jù),如果請(qǐng)求失敗,可以查看響應(yīng)狀態(tài)碼和錯(cuò)誤信息來定位問題。

需要注意的是,在測(cè)試API接口時(shí),需要了解API接口的請(qǐng)求參數(shù)、請(qǐng)求方式、認(rèn)證方式等信息,并在請(qǐng)求頭和請(qǐng)求參數(shù)中正確傳遞信息。另外,為了避免誤操作,建議在測(cè)試環(huán)境中測(cè)試API接口,不要在生產(chǎn)環(huán)境中測(cè)試API接口

根據(jù)上面提供的代碼,如果在Postman中成功請(qǐng)求 /user/info 接口,將會(huì)收到類似下面的 JSON 格式響應(yīng)數(shù)據(jù):

{
    "id": 1,
    "username": "user1",
    "fullName": "User One",
    "email": "user1@example.com"
}

其中,id 是用戶ID,username 是用戶名,fullName 是用戶的全名,email 是用戶的電子郵件地址。這些數(shù)據(jù)是在 UserInfo 類中定義的。

需要注意的是,如果沒有授權(quán)訪問該接口或者用戶不存在,那么響應(yīng)數(shù)據(jù)中將不會(huì)包含這些信息。如果出現(xiàn)這種情況,響應(yīng)數(shù)據(jù)中可能會(huì)包含錯(cuò)誤消息

6. Controller層代碼改造

當(dāng)使用 Spring Boot + Spring Security 構(gòu)建 Web 應(yīng)用程序時(shí),可以使用 ResponseEntity 類來設(shè)置響應(yīng)的 HTTP 狀態(tài)碼。ResponseEntity 類包裝了 HTTP 響應(yīng)的正文、HTTP 狀態(tài)碼以及響應(yīng)頭信息。它允許我們返回自定義響應(yīng)實(shí)體,而不是使用默認(rèn)的響應(yīng)實(shí)體。

在你的代碼中,你可以使用 ResponseEntity<UserInfo> 替換原本的 UserInfo 返回類型。這樣,就可以將 HTTP 狀態(tài)碼作為 ResponseEntity 的一部分返回到客戶端。在 getUserInfo() 方法中,你可以使用以下代碼返回帶有狀態(tài)碼的響應(yīng):

@GetMapping("/user/info")
public ResponseEntity<UserInfo> getUserInfo() {
    // 獲取當(dāng)前登錄用戶
    Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
    if (authentication == null || !authentication.isAuthenticated()) {
        return ResponseEntity.status(HttpStatus.UNAUTHORIZED).build();
    }
    // 獲取用戶信息并返回
    String username = authentication.getName();
    UserInfo userInfo = userService.getUserInfoByUsername(username);
    return ResponseEntity.ok(userInfo);
}

在這個(gè)例子中,如果用戶未授權(quán)或未經(jīng)身份驗(yàn)證,則將返回 HTTP 401 狀態(tài)碼。如果用戶已經(jīng)經(jīng)過身份驗(yàn)證,將返回 HTTP 200 狀態(tài)碼,并帶有用戶信息。

如果需要在 Postman 中測(cè)試 API 的響應(yīng)狀態(tài)碼,可以在請(qǐng)求完成后查看響應(yīng)面板的右上角,顯示的是響應(yīng)的狀態(tài)碼和消息。

在我上面已經(jīng)回答針對(duì)如何使用 ResponseEntity 設(shè)置 HTTP 狀態(tài)碼做了說明,同時(shí)也提到了如何在 Postman 中查看響應(yīng)的狀態(tài)碼。

在 Spring Boot 應(yīng)用程序中,我們可以使用 ResponseEntity 類來包裝響應(yīng)實(shí)體,并指定返回的 HTTP 狀態(tài)碼。例如,在 getUserInfo() 方法中,我們可以使用以下代碼返回帶有

@GetMapping("/user/info")
public ResponseEntity<UserInfo> getUserInfo() {
    // 獲取當(dāng)前登錄用戶
    Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
    if (authentication == null || !authentication.isAuthenticated()) {
        return ResponseEntity.status(HttpStatus.UNAUTHORIZED).build();
    }
    // 獲取用戶信息并返回
    String username = authentication.getName();
    UserInfo userInfo = userService.getUserInfoByUsername(username);
    return ResponseEntity.ok(userInfo);
}

在這個(gè)例子中,如果用戶未授權(quán)或未經(jīng)身份驗(yàn)證,則將返回 HTTP 401 狀態(tài)碼。如果用戶已經(jīng)經(jīng)過身份驗(yàn)證,將返回 HTTP 200 狀態(tài)碼,并帶有用戶信息。

在 Postman 中查看響應(yīng)的狀態(tài)碼,可以在請(qǐng)求完成后查看響應(yīng)面板的右上角,顯示的是響應(yīng)的狀態(tài)碼和消息。如果返回的狀態(tài)碼為200,則表示請(qǐng)求成功,其他狀態(tài)碼則表示請(qǐng)求失敗。

7. sql腳本

CREATE TABLE `users` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT,
  `username` VARCHAR(50) NOT NULL,
  `password` VARCHAR(100) NOT NULL,
  `full_name` VARCHAR(100) NOT NULL,
  `email` VARCHAR(100) NOT NULL,
  `roles` VARCHAR(100) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `UK_username` (`username`),
  UNIQUE KEY `UK_email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

在這個(gè)例子中,我們定義了一個(gè)名為 users 的表,它包含了以下字段:

  • id:用戶的唯一標(biāo)識(shí)符,使用自增長(zhǎng)的方式生成。
  • username:用戶的登錄名,必須是唯一的。
  • password:用戶的登錄密碼,存儲(chǔ)加密后的密碼。
  • full_name:用戶的全名,用于顯示用戶的真實(shí)姓名。
  • email:用戶的電子郵件地址,必須是唯一的。
  • roles:用戶的角色,以逗號(hào)分隔多個(gè)角色。

在實(shí)際應(yīng)用中,你可以根據(jù)需要對(duì)數(shù)據(jù)表進(jìn)行修改和擴(kuò)展。文章來源地址http://www.zghlxwxcb.cn/news/detail-418399.html

到了這里,關(guān)于springboot獲取登錄用戶的個(gè)人信息的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • JeecgBoot獲取當(dāng)前登錄用戶信息

    JeecgBoot獲取當(dāng)前登錄用戶信息

    如果使用JeecgBoot項(xiàng)目進(jìn)行開發(fā)的時(shí)候,有的場(chǎng)景需要獲取當(dāng)前登錄人信息做一些邏輯操作 下面分享下通過前后端分別獲取用戶的方式 本質(zhì)是使用vuex進(jìn)行獲取 引入store 使用store獲取 org.apache.shiro.SecurityUtils 是使用了Apache Shiro框架的認(rèn)證,所以這里直接使用SecurityUtils類來獲取用

    2024年02月12日
    瀏覽(100)
  • 微信小程序個(gè)人訂單,微信頭像用戶名信息獲取頁(yè)面

    微信小程序個(gè)人訂單,微信頭像用戶名信息獲取頁(yè)面

    這里先做一個(gè)簡(jiǎn)單的展示,這個(gè)頁(yè)面是我參加比賽做的小程序,分享給大家,不是很好看哈哈哈哈 話不多說,先上代碼。首先是前端頁(yè)面 .wxml ? 接下來是美化一下頁(yè)面.wxss 最后就是js頁(yè)面啦,這里涉及到微信頭像昵稱的獲取,還有一些button的實(shí)現(xiàn),我這里其他頁(yè)面沒有附著,

    2024年02月11日
    瀏覽(22)
  • vue2項(xiàng)目中調(diào)取登錄接口登錄以后獲取個(gè)人信息以后,儲(chǔ)存在哪里,怎么在不同的頁(yè)面展示想要的信息?

    vue2項(xiàng)目中調(diào)取登錄接口登錄以后獲取個(gè)人信息以后,儲(chǔ)存在哪里,怎么在不同的頁(yè)面展示想要的信息?

    在Vue2項(xiàng)目中,可以將個(gè)人信息存儲(chǔ)在Vuex狀態(tài)管理中或者瀏覽器的本地存儲(chǔ)中,具體取決于項(xiàng)目的需求和規(guī)模。 1. Vuex狀態(tài)管理 在Vuex中定義一個(gè)user模塊,用于存儲(chǔ)用戶信息,可以在登錄成功后將用戶信息存儲(chǔ)到該模塊中。 // store/user.js ? ?const state = { ? ? ? ? ?userInfo: \\\'\\\' ?

    2023年04月25日
    瀏覽(21)
  • 小程序獲取手機(jī)號(hào)和用戶信息一鍵登錄

    小程序獲取手機(jī)號(hào)和用戶信息一鍵登錄

    1、一建獲取用戶信息 以前可以通過 button open-type=\\\"getUserInfo\\\" 一鍵登錄/button 來實(shí)現(xiàn)一建獲取用戶信息; 2021年4月28日24時(shí)后發(fā)布的小程序新版本,無法通過wx.getUserInfo與獲取用戶個(gè)人信息(頭像、昵稱、性別與地區(qū)) 新增 getUserProfile 接口(基礎(chǔ)庫(kù)2.10.4版本開始支持),可獲取

    2024年02月09日
    瀏覽(20)
  • 微信小程序登錄,解決無法獲取用戶信息方法

    在上面的代碼中,首先定義了應(yīng)用的AppID和AppSecret。然后,實(shí)現(xiàn)了獲取微信用戶access_token的方法getAccessToken()和獲取微信用戶信息的方法getUserInfo()。其中,getAccessToken()方法需要傳入微信小程序登錄時(shí)獲取的code,會(huì)返回一個(gè)包含access_token和openid的Map;getUserInfo()方法需要傳入用戶

    2024年02月11日
    瀏覽(21)
  • uniapp在小程序登錄,獲取用戶信息,獲取手機(jī)號(hào)等流程

    uniapp在小程序登錄,獲取用戶信息,獲取手機(jī)號(hào)等流程

    uniapp小程序的授權(quán)描述 1、微信小程序通過uni.login()方法可以獲取到微信提供的code 2、通過登錄獲取的code碼可以以獲取用戶唯一標(biāo)識(shí)openid以及會(huì)話密鑰sessionkey用于解密獲取手機(jī)的加密信息 3、通過微信提供的獲取微信手機(jī)號(hào)的方法getphonenumber拿到encryptedData iv兩個(gè)字段的內(nèi)容

    2024年02月12日
    瀏覽(20)
  • vue3 微信掃碼登錄及獲取個(gè)人信息實(shí)現(xiàn)的三種方法

    一、流程: 微信提供的掃碼方式有兩種,分別是: 根據(jù)文檔我們可以知道關(guān)于掃碼授權(quán)的模式整體流程為: 二、前置條件: 微信開發(fā)官網(wǎng) 申請(qǐng): appid: ‘’, // 后端提供 redirect_uri: ‘’, // 后端提供 AppSecret // 后端提供 三、具體登錄實(shí)現(xiàn) 實(shí)現(xiàn)方式一: 使用vue插件: 使用: 結(jié)果

    2023年04月13日
    瀏覽(28)
  • java對(duì)接微信小程序(登錄&獲取用戶信息)

    java對(duì)接微信小程序(登錄&獲取用戶信息)

    用戶通過小程序登錄,進(jìn)入到平臺(tái)系統(tǒng),進(jìn)行各功能操作; 解決方案: 首先通過對(duì)接小程序,用戶通過小程序登錄及授權(quán)獲取用戶信息,后端調(diào)用接口獲取微信用戶信息,進(jìn)行保存到數(shù)據(jù)庫(kù),然后返回token給前端(實(shí)際在這里相當(dāng)于用戶的一個(gè)注冊(cè)及登錄),前端使用該to

    2024年02月15日
    瀏覽(19)
  • Unity微信小游戲登錄授權(quán)獲取用戶信息

    Unity微信小游戲登錄授權(quán)獲取用戶信息

    最近需要在接微信獲取用戶信息的功能,在小游戲官方API中翻找資料。不得不說官方接口很多、很全,但是真的很亂而且部分遺漏。 對(duì)于不明所以的人來說,真的非常不友好。文檔一堆堆的羅列下來,有些也不知道要怎么組合使用。 文檔下有不少留言也是“罵罵咧咧”想必

    2024年02月02日
    瀏覽(24)
  • Spring Security登錄用戶數(shù)據(jù)獲?。?)

    Spring Security登錄用戶數(shù)據(jù)獲?。?)

    登錄成功之后,在后續(xù)的業(yè)務(wù)邏輯中,開發(fā)者可能還需要獲取登錄成功的用戶對(duì)象,如果不使用任何安全管理框架,那么可以將用戶信息保存在HttpSession中,以后需要的時(shí)候直接從HttpSession中獲取數(shù)據(jù)。在Spring Security中,用戶登錄信息本質(zhì)上還是保存在 HttpSession中,但是為了方

    2024年02月03日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包