我想要的是完全的前后分离项目,感觉这个问题很复杂。
我准备做一个前后分离的后台管理系统,两个静态页面,一个登录,一个管理主页。
如果单用 Spring Security/Shiro 的话很简单,将页面写在应用里可以通过配置拦截器和 Controller 很轻松地进行有权限跳转管理主页,没权限的键入任何 URL 都会跳转至登录页直到有权限为止。
问题来了,如果做前后分离的话,页面是静态的,假如我用 Nginx 部署静态页面,那么在 URL 里键入静态页面文件名就能访问对应的页面。而我在后端用 Spring Security/Shiro 可以基于 JWT 来实现权限区分,带 Token 和不带 Token 两种情况。但是怎么和前端进行配合来进行权限跳转?
一些思考的结果:
1、Nginx 可以通过重写 URL 的方式来隐藏 .html 后缀。
2、可以通过登录页来提交登录申请,然后发送 JSON 给后端进行验证,验证成功可以通过 JavaScript 进行跳转,不成功就跳转到登录页,所以现在问题变成了怎么拦截未验证的请求? Nginx 有类似于拦截器这样的东西吗?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.