关于一些收获:
以前我是这样思考的,假如说有老师,学生,校长三个身份,都有不同的功能,如果我们每新登陆一个学生甲,查看一下他的身份,然后进入相应的页面,现在,学生乙,学生丙,学生丁登陆,都要这样查看,岂不是很麻烦,这个时候就需要RBAC思想了,我认为和MVC一样,它有很好的解耦的思想,条理清晰,便于维护;
RBAC思想是这样,以前是用户对应权限,不同的用户对应不同的权限,现在呢,不同的用户有不同的角色,不同的角色有不同的权限,可以举例说明:
小明有给老师打分的权利,小红也有给老师打分的权利,小帅也有给老师打分的权利,现在学校又给了他们可以举报老师的权利,所以小明你要添加这个权利,小红,小帅,也要添加这个权利,这仅仅是三个人,如果一千个人,都要改,很麻烦,所以我们设置一个学生的角色,他一开始有给老师打分的权利,现在有举报老师的权利,只做一处改动,前辈总结出的很多好的思想,需要我们不断去学习啊。
现在开始需求分析:
数据库设计很关键:
用户表存放用户id,姓名name,密码password,其实还需要一个status字段来判断是否正常;
角色表存放角色id,角色姓名name;
权限表存放权限id,urls存放不同的控制器下的方法(多个);
用户角色表存放用户和角色之间的关系;
角色权限表存放角色和权限的关系;
流程: