b站
module
主要用于记录日志,安全验证,全局错误处理等,
webapi提供两种基本类型,actionfilterattribute 实现执行请求方法体之前和之后的事件处理;
/exceptionfilterattribute 实现触发异常方法
这张图可以看出一些东西:
首先,获取上下文
可以得到url,从而看看是否包含"admin"
另一方面,根据上下文,可以得到 session 判断session中的useinfo是否为空,这里就有问题,为什么用户信息要放在session中。
此后,如果会话中不包含用户信息,将跳回到登陆界面。可以设定一个状态值,总之,就是这个意思。
项目思路与困境:
需要实现什么:
过滤器功能,不用在controller,或者是类中每次去获取到token
关于原先的项目思路:
httprequestContext上下文类,context.current.request.headers[“token”]方法,
获取到token,某个方法传入token可以获取到用户信息(已经实现)
因为token ,不止在一个地方被需要,所以需要提取封装成一个方法,此时,过滤器出现了。过滤器 方法过滤器 里面有两个部分 一个是 方法前执行
一个是方法后执行。
那么问题来了 execting要做什么操作 假设 这里做判断, 是否传进来带token executed要做什么操作 将token存起来?
至少需要做的,将token存储,就使用字典方式吧,然后在其他用到token的方法或类中调用这个过滤器。
直接从框架学习,知识体系不够健全
很多时候很多东西一开始不好接受,尽量去理解需求,采用正向分析,逆向分析,将问题分解成多个步骤,分别去实现,逐个攻破。逻辑不出问题,大体上就问题不太大。
妈的今天真难受,又有些自我怀疑,嘿,不能怂,就是干。