Refactor post and cateogry authentication
Created by: guqing
What this PR does?
- 重构文章和分类的加密认证逻辑
- 不在CategoryServcice做过滤和认证逻辑,有需要也应该使用Facade
- 增加AuthenticationManager做认证
- 增加Category和Post的Authentication做认证状态管理
业务规则:
- 对于没有加密但父分类为加密状态的分类也为加密状态,访问密码为第一个父分类密码
- 文章关联了加密分类则文章也为加密状态默认密码为空
- 文章同时关联了多个加密分类,通过输入密码访问了文章详情后可以看到所有加密分类的名称但点击访问加密分类依然需要输入密码
- 通过content api根据分类获取分类文章列表时,如果该分类不是私密分类则所属该分类的私密文章不会出现在列表,如果该分类是加密分类且认证过则会查询出私密文章,如果分类是私密分类且该请求携带分类密码请求(查询时认证),认证通过也会查询私密分类,否则私密文章不会出现在列表
Why we need it?
Fix #1673 (closed)