漫步SpringSecurity---大白话权限控制

权限控制现在在各个系统中随处可见,尤其是很多公司的后台管理系统。设想如果一个公司的后台管理系统谁都能去访问,那该多恐怖,比如淘宝…这一篇博客就来记录一下权限控制的一些小概念。


为什么需要这个权限控制呢?其实前言已经说了, 简单来说就是通过用户的角色信息,从而给该用户不同的操作权限。 举个例子比如我们的csdn论坛,它是会员等级的,不同的等级就有不同的操作权限。比如我这种等级,每个月只能得到一张推荐卡,而高等级每个月能得到更多,再往上就是尔等不敢想象的了。这其中就是有着权限控制。还有一种情况,假设csdn的后台管理系统,如果没有权限控制,那么谁都能访问,如果有人进去后台把别人辛辛苦苦写出来的文章直接删掉,那原创作者的心里面积该多大呀,微积分都求不出来了…

权限控制可是很重要的,上面的例子中,我们没有后台的操作权限,所以我们进入不了后台。从而就确定了后台不是任何人都能访问的。

现在开发中,已经有了和权限控制有关的"脚手架",我们基本可以拿来开箱即用了,用的比较多的有shiroSpringSecurity。而这个系列的博客着重记录后者,这些是后话了。


权限控制有几个重要的概念,简单来说就是认证授权

认证是啥,它和登录挺像的,不同的是,登录成功后就登录成功,最多把当前的用户信息(姓名,年龄,学校)保存在session域中。而认证成功之后,就等于告诉系统你是谁。在拿上面举到的例子,我们现在是csdn的后台管理员,我们可以登录csdn的后台系统,我们登录进入后台系统之后呢,这个过程中,相当于告诉系统我们就是管理员了,告诉系统我们是何身份。

授权,在我们认证成功后,系统知道我们的身份了,那么我们肯定就和没身份的人不一样呀(狗头)。怎么个不一样呢?这时系统就会根据我们的身份给我们不同的权限,比如在一个学校中,我是一个班主任,那么我只有管一个班的权限。而级长可以管理一个年级。系统会根据我们身份从而给我们划定"范围"。

上面的说的两个概念有可以细分成用户角色权限。简单来说下:

  • 用户: 一个系统中有很多个用户,如同这世界上有70亿人
  • 角色: 每个用户都有不同的角色,如同有的人是医生,有的人是警察。
  • 权限: 说到底,角色只是一个标识符,如果角色的划分没有区别,那么角色只是一个没意义的标识符。那么角色的意义是什么呢?就是每一个角色所能干的事情不相同,如同医生救死扶伤,警察惩恶扬善(当然只是举例子,医生也可以惩恶扬善,警察也能救死扶伤)。每一个角色的差别其实就是他们的权限不同。

这篇博客简单记录一下几个概念,后续有相关会继续补充,感谢观看🙏.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章