【Spring Security】 Authentication
【Spring Security】 Authentication
Metadata
title: 【Spring Security】 Authentication
date: 2023-02-01 19:33
tags:
- 行动阶段/完成
- 主题场景/组件
- 笔记空间/KnowladgeSpace/ProgramSpace/ModuleSpace
- 细化主题/Module/SpringSecurity
categories:
- SpringSecurity
keywords:
- SpringSecurity
description: 【Spring Security】 Authentication
【Spring Security】 Authentication
Authentication 接口源码:
public interface Authentication extends Principal, Serializable {
/**
* 获取 授权信息 ,用户权限集合 => 可用于访问受保护资源时的权限验证
*/
Collection<? extends GrantedAuthority> getAuthorities();
/**
* 凭据 这通常是一个密码
*/
Object getCredentials();
/**
* 被认证主体的身份。在带有用户名和密码的身份验证请求的情况下,这将是用户名。
*/
Object getPrincipal();
/**
* 是否被认证。
*/
boolean isAuthenticated();
/**
* 认证结果设置。
*/
void setAuthenticated(boolean isAuthenticated) throws IllegalArgumentException;
}
其中 Authentication 包含:
- principal- 识别用户。使用用户名 / 密码进行身份验证时,这通常是 UserDetails.
- credentials- 通常是密码。在许多情况下,这将在用户通过身份验证后清除,以确保它不会泄露。
- authorities- GrantedAuthoritys 是授予用户的高级权限。一些示例是角色或权限值。
SecurityContext context = SecurityContextHolder.getContext();
Authentication authentication = context.getAuthentication();
String username = authentication.getName();
Object principal = authentication.getPrincipal();
Collection<? extends GrantedAuthority> authorities = authentication.getAuthorities();
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 蝶梦庄生!
评论