细粒度的权限控制

版权声明:版权所有@听风的声音,转载请声明。 https://blog.csdn.net/qq_22774179/article/details/82718516

权限控制,顾名思义,就是对不同的角色显示不同的内容以及给予不同角色不同的操作权限。这里举个非常简单的例子,普通员工只能查看自己发布的消息,而上级领导可以查看底下所有员工发布的消息。

其实权限控制并没有想象中的那么复杂,一般我们在查询列表的时候一般都会用 

select * from table

假设我们要筛选列表,只显示部分内容,那么我们必须加上where条件。同理权限控制也是如此,只需要在SQL语句中插入where条件。以下内容中create_by代表创建人id,create_dept代表创建部门id。

假设某公司部分部门设置如下:(编码3位为一层)

 

这里分两大类:

  • 1.普通专职人员:

            登录后只能看到自己的信息

            Where条件 create_by = #{当前登录者id}

  • 2.经理级别:

                   A.只能看本部门

            Where条件 create_dept=#{当前登录者所在的部门}

                   B.只能看到本部门和直属下属的数据

                        Where条件  create_dept=#{当前登录者所在的部门} And create_dept like #{当前登录者所在部门}???

                              C.看到所有下属的数据

                        Where条件 create_dept like #{当前登录者所在部门id}%

猜你喜欢

转载自blog.csdn.net/qq_22774179/article/details/82718516
今日推荐