我一直在使用restify作为REST API服务器。我也使用angularjs,前端html,css,js文件托管在Apache网络服务器上。我想为此webapp添加用户登录身份验证。
用户需要登录才能访问网络应用。如果未经过身份验证,则会将其重定向到www.webroot.com/login.html
的默认网址。
谷歌搜索后,我发现大多数node.js代码示例都基于Express。在我的背景下,使用Express会是更好的选择吗? Express似乎更加集成,因为它也充当了网络服务器。我的偏好是使用restify,因为我现有的应用程序是用来解决的。还可以用来做工作吗?
答案 0 :(得分:0)
看一下这个模块restify-ensure-login
。
https://www.npmjs.com/package/restify-ensure-login
此中间件可确保用户已登录。如果请求是 如果未经身份验证,请求将被重定向到 登录页面。 URL将保存在会话中,因此用户可以 方便地返回到最初请求的页面。
从你的问题来看,你似乎有错误的观念认为,与Express不同,restify无法充当静态网络服务器。事实上,restify能够充当静态网络服务器,而且只需几行代码即可完成。你走了;
server.get(/.*/, restify.serveStatic({
'directory': 'static', //html, css files placed in static folder
'default': 'index.html'
}));