我对这些东西都很陌生,所以请耐心等待。
我尝试使用MEAN堆栈创建REST API - 为了方便起见,我尝试使用它:
https://github.com/florianholzapfel/express-restify-mongoose
当我跑步时,它对我来说非常适合:
restify.serve(app,hotels);
- >应用程序当然是快递,酒店是我的mongoose.model,它指向我的酒店架构。
它也在使用我的令牌逻辑',我可以使用以下内容保护所有令人满意的网址
app.use(expressJwt({secret:' secretkey'})。除非({路径:[' / auth',' /&#39 ]}));
我的问题是 - 我如何使用我的令牌逻辑(POST,PUT,DELETE)保护某些REST方法,例如' / api / hotels' - >我想像GET这样的方法是公开的,但不是POST,PUT和DELETE。
有可能吗? 非常感谢您的帮助!
答案 0 :(得分:2)
用“express-restify-mongoose”:“^ 2.0.0”你应该使用“preMiddleware”
然后执行:
.first-user-overlay-shell {
width: 90%;
min-width: 1200px;
max-width: 1380px;
z-index: 1000;
overflow: scroll;
position: absolute;
top: 0;
margin-left: auto;
margin-right: auto;
left: 0;
right: 0;
}
.overlay-bg {
z-index: 105;
position: fixed;
left: 0px;
right: 0px;
top: 0px;
bottom: 0px;
background-color: rgba(0,0,0, 0.8);
}
更多信息: https://florianholzapfel.github.io/express-restify-mongoose/
答案 1 :(得分:1)
答案是:
创建这样的中间件:
function AllCanGetIt(req, res, next) {
if(req.method === 'GET') {
return next();
}
return expressJwt({ secret: 'secretstring' })(req, res, next);
};
然后做:
restify.serve(app, hotels, {middleware: AllCanGetIt});