zoukankan      html  css  js  c++  java
  • springsecurity-微服务-认证授权的过程

    springsecurity的认证授权有两种方式:基于session和基于token。由于token的使用会比较多,下面讲token的这种方式。

      整个大概的流程是这样的:

      1.用户访问服务器进行登录,服务器返回登录页面给用户

      2.用户填写用户名和密码,并提交给服务器

      3.服务器收到后,由springsecurity来进行认证校验,主要是查询数据库用户名和密码,判断是否是合法的用户,如果是,则认证成功,并且从数据库中查出该用户的权限列表

      4.将用户名和权限列表保存到redis中,用户名为key,权限列表为value;通常每个权限用其code来表示,在权限表会有一个code字段,到时候redis存的权限列表,其实就是一系列的code值。

      5.此时根据用户名等信息生成token,把token保存在cookie中并返回给用户;此时用户就已经认证成功了,接下来就是授权了

      6.当用户再次访问时,从cookie中取出token信息,放到请求中的header请求头,随着请求发送给服务器

      7.服务器从header头中拿到token,并解析token拿到用户名

      8.查询redis,根据用户名,查询该用户的权限列表

      9.springsecurity根据权限列表,为用户此请求赋予相应的权限

      10.用户请求进行相应的操作

    大概流程是这样的,我们可以知道,实际上权限列表是保存在数据库中的,但是springsecurity会从redis取用户的权限,再赋予用户该请求的权限

  • 相关阅读:
    Win下循环进入目录启动执行某任务
    Mysql数据库搭建-Windows
    Linux的服务器初始优化脚本。
    Linux下Find命令的使用
    一些判断Linux是否被黑的经验
    搭建docker私有仓库
    进程退出:SIGINT、SIGTERM和SIGKILL区别
    dockerfile使用
    k8s-ingress安装
    k8s-service
  • 原文地址:https://www.cnblogs.com/ibcdwx/p/14378309.html
Copyright © 2011-2022 走看看