前后端分离与权限校验

Posted dragonboom

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前后端分离与权限校验相关的知识,希望对你有一定的参考价值。

我在写web项目时,总是会为权限认证犯愁。
在采用前后端分离后,后端只提供接口,项目的路由不再归后端管,而是由代理服务器(nginx)控制。
对于一般公开资源,URL的路由并不依赖于用户的状态,因此光靠代理服务器控制路由就够了。但是一旦涉及私密资源,事情就复杂起来了。
对私密资源的访问需要进行权限校验,而这个校验一般由后端提供接口进行。但后端又不负责路由,即此时就做不到直接将不同状态的用户路由到不同资源。
遇到这种状况时就需要 先调用后台接口后根据结果改变路由 。

显然,作为路由的发起者,不管是重定向还是动态载入资源,前端是能够做到这件事的。但前端代码的运行需要浏览器先加载相应的代码,因此仍存在一些弊端:

  1. 对私密资源的访问页面需要做成懒加载的单应用
  2. 当私密资源不包含前端代码(如图片,视频等)时无法避免直接访问

因此,我觉得更好的解决方法还是通过代理路由器去解决这个问题。
可能是我学艺不精,不知道光用Nginx如何去实现,因此,我个人的解决方案是扩展Nginx的功能:
通过Nginx将对所有对私密资源的请求路由至权限校验服务器,由其进行权限校验与转发。







以上是关于前后端分离与权限校验的主要内容,如果未能解决你的问题,请参考以下文章

前后端分离项目——登录Token校验思路

Spring Boot + Apache Shrio + JWT前后端分离项目

Django form 校验数据-前后端分离

美团一面:说说前后端分离权限控制设计和实现思路?

DRF0. 前后端分离

Vue +Springboot+shiro实现前后端分离权限控制