为什么不在服务端拦登录,而是在客户端处理
背景/问题
做授权管理时,更常见的做法是在服务端直接做登录拦截,比如在 proxy.ts 里判断未登录就跳转登录页,或者在服务端根据用户状态决定是否返回内容。这种方式在后台系统里是合理的。
但对于内容型网站来说,目标不是“挡住用户”,而是让用户先看到内容,再决定要不要继续看。同时为了 SEO,还希望页面可以被搜索引擎正常抓取。
服务端拦截的问题
1. 内容页不利于 SEO
最直接的问题就是 SEO。课程页本质是内容页,如果未登录就重定向到登录页,搜索引擎拿到的不是正文,而是跳转结果或登录页,这类页面基本没有索引价值。