• dingdongfm
    2019-09-19
    请问给出的这个权限模型有没有对应的关系数据库的表结构可以参考?

    作者回复: fusionauth(https://fusionauth.io/downloads)是一个auth as a service产品,它采用我课程中给出的用户角色鉴权模型,fusionauth免费但不开源,但是下载的jar里头有db schema,可以参考。

    
     2
  • Alex
    2019-08-06
    如果考虑微服务内部安排是不是内部传jwt更好,避免被内部伪造身份。

    作者回复: 如果安全要求比较严格,也可以考虑一种混合模式,外部使用透明令牌,内部使用自包含的jwt令牌,中间通过网关访问Auth Service进行转换,这种做法Auth Service需要存透明令牌和jwt之间的映射关系。

    
     2
  • 彩瓷菜
    2019-08-13
    请问老师,我们这套认证和鉴权的代码可以用spring-security实现吗?

    作者回复: 你好,spring-security其实是单块应用时代的安全框架,严格讲不适合微服务安全认证场景。课程中提出的是一种认证+鉴权服务(auth & permission as a service),专门面向微服务场景的,需要单独开发实现,可以参考auth0.com或者fusionauth.io。

    
     1
  • 公号-云原生程序员
    2019-08-08
    波波老师,透明令牌和jwt令牌有什么区别了?

    作者回复: 透明令牌和JWT令牌的区别,在35节《安全认证架构演进:微服务阶段》和38节《JWT有哪两种主要流程?》都有讲解,可以回过头去再看一下视频。简单讲,透明令牌相当于一个无意义的随机字符串,它是实际存储在AuthServer上的会话数据的一个引用标识符,后续可以通过透明令牌去集中AuthServer上查询会话数据;而JWT令牌则是自包含数据的,一般不需要到集中AuthServer上查询会话数据,可以实现无状态认证。做一个类比,透明令牌可以类比Java语言中的引用传递(pass by reference),而JWT令牌可以类比Java语言中的值传递(pass by value)。

     1
     1
  • ella
    2020-01-14
    权限参考模型里面的userRegistration是个什么概念,不是很理解,是userInfo的意思么?为什么一个userRegistration只能属于一个app

    作者回复: 微服务以后,一个企业一般会有很多的应用,这些应用不是每个用户都可以用的。所以在用户和应用之间增加一个关联概念userRegistration,一个用户只有注册了一个应用,他/她才能使用这个应用。可以把userRegistration理解为用户和应用之间的一个关联表。

    
    
  • 李盛杰
    2019-10-25
    老师 能大概讲一下spring-security为什么不适合微服务场景吗 可不可以把spring-security集成到网关上,或者针对于某一个需要进行认证鉴权的微服务(比如管理后台服务)集成spring-security

    作者回复: spring-security是单块应用时代的产物,那个时候的应用形态主要就是web-mvc,安全实现主要就是靠session+cookie+后端用于存储用户和权限数据的存储,总体是一种单体和有状态安全技术。

    微服务时代则完全不同,后端都是无状态服务,前端应用形态很多,有单页+无线+Web,spring-security开发设计的时候没有考虑到现在的微服务形态。微服务适合采用oauth/jwt等无状态安全认证机制,具体原理可以进一步学习本章课程。

    当然如果你硬是要将spring-security用在微服务上,我想你自己搞些定制也可以工作,但是它开发之初确实不是为微服务设计的,就是为单体spring-mvc应用设计的,后来Pivotal又推出spring-security-oauth2来扩展支持微服务安全,但是也我认为也没有设计好。

    
    
  • dingdongfm
    2019-09-19
    你好,请问这里的rbac service跟sass,多租户有关系么?多租户具体在哪些章节中有体现?

    作者回复: RBAC是一种通用的基于角色的访问控制机制,和SaaS/多租户并不直接关联。这个机制SaaS/多租户应用可以采用,其它非SaaS应用也可以采用。

    Staffjoy的多租户主要由数据库表级别的逻辑隔离(以Company为单位),加上Faraday网关+基于JWT的安全框架+WhoAmI服务这些机制共同配合实现。相关内容主要分布在第2/4/5章。

    
    
  • Aaron
    2019-08-29
    对于同一个用户,jwt每次生成的token可能都是一样的吧?

    作者回复: 不一样,构造jwt令牌除了包含用户名等claims,还包含过期时间(当前时间+持续有效时间),这个每个都不一样。

    
    
  • John
    2019-08-21
    上次課也說過 jwt有時限 那麼在expire之前 如果用戶在台式電腦上增減了一個role 但是現在手機端沒有同步就亂了

    作者回复: jwt有无状态好处,但是有吊销不及时的问题。有一种优化的办法是引入消息机制,如果吊销或者用户数据变更,可以通过消息传播出去,相关应用可以监听消息,及时吊销或处理用户数据变更。

     1
    
  • Tomorrow
    2019-08-13
    老师,您好,能否staffjoy中的权限框架如何进行选型?spring-security以及shiro或者有没有更好的?

    作者回复: 你好,spring-security/shiro其实是单块应用时代的安全框架,不是服务,严格讲不适合微服务安全认证场景。课程中提出的是一种认证+鉴权服务(auth & permission as a service),专门面向微服务场景的,需要单独开发实现,可以参考auth0.com或者fusionauth.io,我本人也正在开发一个类似服务,后面会开源出来。

    
    
我们在线,来聊聊吧