课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
用户权限管理系统是程序员在开发软件的时候会经常用到的一个功能,下面我们就通过案例分析来了解一下,用户权限管理都有哪些常用方法。
单点登录
单点登录(Singlesign-on,SSO)可能是简化的访问管理方法,因为它允许用户的登录验证(身份验证步骤)在一系列捆绑的服务中对同一个用户进行认证。目前,应用程序通常在其功能范围内承载多个服务。逐一登录所有的服务,对用户来说是非常乏味的。对所有服务的访问都通过一个集中的认证服务进行路由。尽管在很多方面都很方便,但是这种方法很容易出错或网络流量激增。
互助式身份验证
当服务处于活动状态时,微服务通常彼此通信。这样,互联的微服务就会在用户开展业务时共享大量流量。由于每个服务的身份验证证书是通过TLS交换的,所以双向SSL连接允许相互身份验证。应用实例不断变化的的性质会对这个身份验证过程造成麻烦,但是也有一些好消息:私有证书中心可以帮助确定如何为所有适用的服务进行颁发、撤销和更新证书。
忠告
所有这些选项中的共同缺点是易用性。每一种选项都有一定的取舍,并需要一定程度的手工设置才能成功。虽然内置的自动化可以间接地或直接简化权限处理过程,但在你的团队中需要特定的专业知识。合理地执行这些策略需要熟练掌握API、安全性和微服务架构。经验不足的人更容易犯错,而这些错误会破坏权限处理。
诸如基于角色的访问控制和基于属性的访问控制(attribute-basedaccesscontrol,ABAC)这样的机制,都是活的概念,需要在服务的生命周期内持续地维护。很多情况下,自我管理的身份验证和授权都可能会出问题。以不可见的方式实施(就用户而言),也是系统安全的核心。糟糕的编码解决方案可能会提供过多关于后端权限结构的信息。
开源资源能否缓解开发之痛?尽管在很多情况下答案是肯定的,但事实是,成功的整合仍然是一个挑战。文档并非“百发百中”,跨语言的逻辑共享令人怀疑,而编码工作可能很大。
身份验证后授权用户
当你的服务确定你(或你的用户)是谁之后,它们将决定在应用程序中实际可以做什么。可以单独对每一个服务执行此操作,尽管这一过程需要一些时间,并且会带来潜在的问题。
尽管有利安全性和细粒度控制,但这要求为所有微服务重写安全逻辑。这样会导致臃肿的重复构建。这也会将每个服务与它没有的外部授权数据连接起来。终,随着服务规模的扩展,这些零碎的设计在监控上变得更加复杂。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。