架构小白到砖家-14-【权限管理问题】-权限管理理论

目前为止咱们的应用所有人都是可以自由访问的,但是有些功能不能让所有人使用,那么咱们就必须处理应用权限管理问题。权限管理分为两部分,用户认证(Authentication)和用户授权(Authorization)。用户认证解决访问用户的合法身份问题,用户授权解决访问资源是否有权限问题。
架构小白到砖家-14-【权限管理问题】-权限管理理论_第1张图片
架构小白到砖家-14-【权限管理问题】-权限管理理论_第2张图片

咱们应用是web应用,所以访问资源是URL请求。从技术层面使用拦截器对所有应用请求进行拦截,然后进行权限管理操作。web应用可以配置多个拦截器依次处理同一个请求,形成拦截器链机制。我们可以建立权限管理拦截器链。
架构小白到砖家-14-【权限管理问题】-权限管理理论_第3张图片

我们可以从这个拦截器链模型中看出,用户认证是权限管理的基础,然后才是用户授权验证。最简单的权限管理就是只做用户认证,可以自己写一个拦截器拦截所有请求,根据判断是否用户登录,来决定是否可以访问资源。但是这种方案会有安全隐患,不能认为所有的合法用户都是可信任的,理论上合法用户可以越权访问资源,如果遇到恶意攻击者,这样是非常危险的。所以还是需要从根本上解决权限管理问题,让我们来看看用户认证和用户授权的处理流程。
架构小白到砖家-14-【权限管理问题】-权限管理理论_第4张图片

按照不重复造轮子的原则,咱们没必要自己去实现权限管理的这套理论,已经有大量开源框架很好的解决了权限管理问题,比如shiro、springsecurity。咱们将这些框架按照实际项目需求,正确的使用就可以了。下一篇咱们就来学习springsecurity的基本使用方法。

回顾总结,权限管理分为用户认证和用户授权两部分组成,web应用采用拦截器链的技术机制,建议使用springsecurity框架。

你可能感兴趣的:(单应用框架)