更新时间:2021年1月26日
今天绝对要更一篇!这是我强迫着我自己更新本篇!
回顾
昨天弄了身份验证服务,但是很明显有一个问题,就是。。无法区别教师和学生的区别
关于这个,肯定难不倒我的
我们在模型类添加了权限等级字段
数据库也相应的自动添加。
如果权限等级为0,那么为学生
如果权限等级为1,那么为教师
之前弄的前端,都是教师和学生混在一起弄的,没有权限等级的概念
现在,有了登入和注册功能,我们来把这个数据变成动态,不要写死了
思路
- 在登入成功的时候,添加进身份认证即可
- 增加一个base控制器。所有控制器继承这个基类控制器,在这个基类控制器中,我们通过身份认证来获取登入账号的用户名,用户id,权限等级
- 前端登入界面,写一个api,检测权限等级是教师还是学生,根据检测结果来存储一个本地存储,用来判断是否登入
- 前端纵向导航栏的位置,通过检测这个权限等级来显示或者隐藏
- 这样弄肯定还会存在问题的,因为前端是永久存储,后端存储是有时间的,当后端过期之后,前端还进行访问会出现不可预期的错误,不过我们是有base控制器,只需要在这个控制器中添加一个检测是否登入用户是否过期,如果过期,跳转到登入页面即可
开始行动
这里是控制登入请求的控制器,如果登入成功,将被身份认证给记住
开始建造base控制器,所有控制器将继承这个基类
真正在弄的时候,问题还是出现了
我没有考虑到,身份验证用户名存储的是字符串,而用户id,也是字符串!
通过哈希方式来获取的,这样我们的studentid和teacherid都出问题了!因为我设置的是整形!
我直接裂开!
好难受啊,用户id竟然不是整形,这不成心恶心我吗?
如果要把所有整形改成字符串,那这工作量真的大了去了!
并且,student表和teacher表都作废了
我的天!
这个将会是一次超级大改!
真怕,一步错,步步皆错啊!
灵机一动
我突然有一个想法
如果说,我再添加两个个字段叫做studentId和teacherId,然后在注册的时候将ID和teacher表中的或学生表中的id进行绑定,先当于在弄一个关系表
嗯。。。。我真不太确定成不成,理论上说应该没问题
来试试:
更新数据库!
等等!
我又发现了一个问题
这里永远也获取不到!!!
关于这个问题,我思考了很久
考虑过是不是异步的原因,或者其他,是不是cook的问题
查阅过很多地方,也没发现一个结果
我看到确实有很多人出现这个问题
identity算是一个比较老的技术
作为一篇2022年的毕业设计,其实可以不用出现他
(感觉只会拉低我的档次)
所以:
既然bug无法解决,那我们干脆就不用它
不是我不想,而是它不配!
既然如此,我们重新来过
(我心态差点都要蹦了)
好家伙,好家伙
直接就倒退了10年进度
还原项目的时候还给我报错,我心态直接裂开
找了好久好久发现这个东西
真的真的,不知道是什么时候加上的s!
这么绕了一圈,又回来了。。。
另外,这里还没有加student的bll层
今天至少什么都要干点吧。。。
尽管方法变了,但是大致思路肯定是一样的
我们将重新把登入,注册,退出的逻辑全部写一遍!
明天,继续!