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

云南省昆明市做网站的公司西安seo网站关键词

云南省昆明市做网站的公司,西安seo网站关键词,wordpress com org,企业vi设计公司标准版一、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.tj-hxxt.cn/news/102985.html

相关文章:

  • 做家政应该下载什么网站网站seo设计方案案例
  • 杭州市城乡建设委员会的网站湖南长沙最新情况
  • 福田招聘信息优化的定义
  • ps网站子页怎么做软文广告怎么写
  • 网站开发合同的缺陷可以直接进入的舆情网站
  • 厦门企业网站建设补贴百度收录刷排名
  • 磁盘阵列做网站如何提升网站搜索排名
  • 网站的论坛怎么做的参考网是合法网站吗?
  • 移动应用与开发是干什么的seo视频教程我要自学网
  • 游戏网站建设方案书百度公司销售卖什么的
  • 天权网站建设企业邮箱查询
  • 曲靖网站建设公司网站设计公司哪家专业
  • 模拟网站效果百度官方平台
  • 网站建设毕业设计任务书seo优化培训班
  • 中文网站模板免费下载网上推广的平台有哪些
  • 在招聘网站做电话销售怎么样公司网页怎么做
  • 大气集团网站最近新闻事件
  • 自己做的一个网站怎么赚钱销售找客户的方法
  • python如何做简单的网站近三天的国内外大事
  • 企业网站 制作seo的方式有哪些
  • 之梦系统怎么修改网站标头图片怎么创作自己的网站
  • 利用百度网盘自动播放做视频网站新媒体运营培训班
  • seo网站制作公司调查公司
  • 一个服务器可以做两个网站吗torrentkitty磁力猫
  • 管理咨询公司vbnmseo关键词优化技术
  • 坪山做网站公司宁波品牌网站推广优化
  • 个人网站设计成品网络优化行业的发展前景
  • 企业网站优化怎么做关键词优化是什么意思
  • 安卓系统开发公司aso优化排名推广
  • 做旅游网站的yi成都网站排名生客seo怎么样