当前位置: 首页 > news >正文

云南省昆明市做网站的公司免费的建站平台

云南省昆明市做网站的公司,免费的建站平台,b2c电子商务模式的三大类型,外贸网络营销的优势一、SpringSecurity中的核心组件 在SpringSecurity中的jar分为4个,作用分别为 jar作用spring-security-coreSpringSecurity的核心jar包,认证和授权的核心代码都在这里面spring-security-config如果使用Spring Security XML名称空间进行配置或Spring Security的Java configura…

一、SpringSecurity中的核心组件

  在SpringSecurity中的jar分为4个,作用分别为

jar作用
spring-security-coreSpringSecurity的核心jar包,认证和授权的核心代码都在这里面
spring-security-config如果使用Spring Security XML名称空间进行配置或Spring Security的
Java configuration支持,则需要它
spring-security-web用于Spring Security web身份验证服务和基于url的访问控制
spring-security-test测试单元
Authentication :认证对象
// 相关权限信息
Collection<? extends GrantedAuthority> getAuthorities();
// 获取当前用户的凭证
Object getCredentials();
// 获取当前用户的详情
Object getDetails();
// 当前登录的用户对象
Object getPrincipal();
// 判断当前用户的登录状态:true:登录 false:未登录
boolean isAuthenticated();
// 更新用户的认证状态
void setAuthenticated(boolean var1) throws IllegalArgumentException;

Authentication保存在哪了?

​ 在SecurityContextHolder中获取

1.SecurityContextHolder

默认情况下,SecurityContextHolder是通过 ThreadLocal来存储对应的信息的。也就是在一个线程中可以通过这种方式来获取当前登录的用户的相关信息。而在SecurityContext中就只提供了对Authentication对象操作的方法

SecurityContext:容器上下文

// 获取认证对象
Authentication getAuthentication();
// 设置认证对象
void setAuthentication(Authentication var1);

SecurityContextHolder:

// 获取容器上下文
public static SecurityContext getContext()
// 设置容器上下文
public static void setContext(SecurityContext context)

从而可以这样获取到当前登录人信息

Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
UserDetails userDetails = (UserDetails) principal;
System.out.println("=========="+userDetails.getUsername());

SecurityContextHolder中可以设置自定义的存储方式

public static final String SYSTEM_PROPERTY = "spring.security.strategy";
private static String strategyName = System.getProperty("spring.security.strategy");
private static SecurityContextHolderStrategy strategy;// 源码,初始化静态方法
private static void initialize() {if (!StringUtils.hasText(strategyName)) {strategyName = "MODE_THREADLOCAL";}// 3种默认的存储方式if (strategyName.equals("MODE_THREADLOCAL")) {// 本地线程中strategy = new ThreadLocalSecurityContextHolderStrategy();} else if (strategyName.equals("MODE_INHERITABLETHREADLOCAL")) {// 父子线程中,可继承strategy = new InheritableThreadLocalSecurityContextHolderStrategy();} else if (strategyName.equals("MODE_GLOBAL")) {// 全局strategy = new GlobalSecurityContextHolderStrategy();} else {try {Class<?> clazz = Class.forName(strategyName);
http://www.yidumall.com/news/42469.html

相关文章:

  • 地产网站规划网站怎么制作免费的
  • 定制高端网站的公司扬州百度seo
  • 哈尔滨网站建设哪家有广州优化网站排名
  • 如何修改网站备案的域名百度识图网页版在线
  • html5如何实现网站开发制作网站教学
  • 广州移动 网站建设营销型网站制作
  • 江苏城乡住房建设部网站抖音信息流广告怎么投放
  • 长春汽开区建设局网站seo推广话术
  • 一品威客网靠谱么seo外包推广
  • 网站注册域名位置bt种子搜索
  • 笔趣阁建站教程查询网站相关网址
  • b2c电商网站有哪些优势北京网站快速排名优化
  • jsp电商网站开发流程图seo诊断a5
  • 张家口职教中心计算机网站建设外链购买平台
  • 网站建设接单搜索引擎调词平台多少钱
  • 高师院校语言类课程体系改革与建设 教学成果奖申报网站seo推广优化服务
  • 网络工程师自学网站广州网络营销推广
  • 营销型网站源码线上推广活动有哪些
  • 泰安网站设计百度关键词优化工具
  • 网站开发与制作中期报告搜索引擎广告形式有哪些
  • 企业seo排名服务裤子seo标题优化关键词
  • 做英语网站百度秒收录软件
  • 莆田做网站的公司网推怎么做
  • 建设银行境外购物网站中公教育培训机构官网
  • 怎么自己做网页初学者网络优化工程师有多累
  • 有合作做时时彩网站的吗谷歌外贸网站推广
  • 连云港公司做网站广东今日最新疫情通报
  • 网上还有什么网站做批发软文发布
  • wordpress城市插件无锡seo优化公司
  • 营销型网站九大特点百度搜索下载app