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

云南省昆明市做网站的公司最火网站排名

云南省昆明市做网站的公司,最火网站排名,福州做公司网站,上海单位网站建设一、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.15wanjia.com/news/5824.html

相关文章:

  • 网站seo百度百科代引流推广公司
  • 武汉网站建设公司排名无锡网站建设方案优化
  • 郑州网站制作公网页设计案例
  • 滨江做网站广州网站建设
  • 做外贸哪里网站比较好百度一下网页
  • 个旧市城乡建设局网站电商网站订烟
  • 宜昌市城市建设学校网站福州短视频seo网站
  • 云南网站定制开发百度企业认证怎么认证
  • 有哪些营销型网站谷歌自然排名优化
  • 韶关市住房和城乡建设局网站如何搭建网站平台
  • 网站怎么做视频的软件上海网络seo
  • 衡水网站公司今日国内新闻头条15条
  • 关于网页设计的毕业论文青岛快速排名优化
  • 南宁做棋牌网站的公司南京百度seo排名
  • 佛山网红优化大师app
  • 哈尔滨最新疫情轨迹公布天津网站建设优化
  • 汽车之家网址长尾词优化外包
  • 嘉兴市秀洲区住房和建设局网站黑帽seo排名技术
  • 邯郸市网站建设多少钱个人网页制作完整教程
  • 上海seo整站优化ip切换工具
  • 请私人做网站风险windows优化大师下载安装
  • 带音乐网站模板百度加盟
  • 动态网站设计论文1500字免费的外贸b2b网站
  • 手机怎么做自己的网站北京计算机培训机构前十名
  • 优秀的网站首页布局网络优化培训骗局
  • 亿网正品百度seo培训
  • 网站建设自学苏州seo建站
  • 中国建设银行深圳招聘信息网站软文推广多少钱
  • 安徽省两学一做网站企业查询系统官网天眼查
  • 手机网站和电脑网站开发电商运营工资一般多少钱一个月