问一个session管理规则的思路问题
最近在用koa做项目,碰见一个session页面访问权限问题,麻烦各位大牛给个思路~~
项目中有很多个页面,其中部分需要权限才可访问,部分是对外随便访问的,那这中间我知道可以在访问的时候对页面进行判断,和对session进行判断。
但页面太多,对每个页面都进行if未免太恶心了吧~~~
求大牛给一种方法~或思路~能便捷效率的处理。
4 回复
我也不太懂啊,同求。mark一下
把需要验证权限的路由统一放在一个配置文件项里面 然后写一个中间件 在中间件统一处理
写一个中间件,每次请求都先交给这个中间件处理。在这个中间件里,先获取当前页面的配置信息,当然还可以获取到当前是哪个用户,接下来就可以做你上面的逻辑了。可以把所有的页面的配置信息写在这个中间件里,或者像2楼说的放在单独的配置文件里。
另外,如果你的每个请求交给一个对应的class处理,除了上面的方法,下面的也可以试试。 所有的这些class都继承base class,把你上面的逻辑写在base class里,然后在每个处理请求的class里做一些配置(比如是否需要登录,是否需要权限等等)。
我觉得通过过滤器的方式还是比较繁琐的,而且影响效率,最好就是在架构上面下点功夫,比如有几个实体,每个实体做一个项目,实体里面通过权限控制来做,然后共用一个数据库或缓存来实现系统统一,望采纳