千家信息网

springSecurity如何自定义用户认证

发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,这篇文章将为大家详细讲解有关springSecurity如何自定义用户认证,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先我需要在xml文件中声明.我要进行自定义
千家信息网最后更新 2024年11月14日springSecurity如何自定义用户认证

这篇文章将为大家详细讲解有关springSecurity如何自定义用户认证,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

首先我需要在xml文件中声明.我要进行自定义用户的认证类,也就是我要自己从数据库中进行查询

配置完自定义的文件以后,在需要自定义认证类的模块中实现

UserDetailsService

package com.qingmu2.core.service;import com.alibaba.dubbo.config.annotation.Reference;import com.qingmu2.core.pojo.seller.Seller;import org.springframework.beans.factory.annotation.Autowired;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 java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.List;/** * 自定义的认证类 * @Auther:qingmu * @Description:脚踏实地,只为出人头地 * @Date:Created in 8:33 2019/5/31 */public class UserDetailServiceImpl implements UserDetailsService { private SellerService sellerService; public UserDetailServiceImpl() { } @Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { Seller seller = sellerService.findOne(username); if(null!=seller){ //判断一次商家是否被审核通过. if("1".equals(seller.getStatus())){ //创建一个集合,用来存储权限 HashSet authorities = new HashSet<>(); authorities.add(new SimpleGrantedAuthority("ROLE_SELLER")); //将这个用户的信息返回给认证类 return new User(username,seller.getPassword(),authorities); } } //没有这个用户,则返回null return null; } public UserDetailServiceImpl(SellerService sellerService) { this.sellerService = sellerService; } public SellerService getSellerService() { return sellerService; } public void setSellerService(SellerService sellerService) { this.sellerService = sellerService; }}

关于"springSecurity如何自定义用户认证"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0