从OpenCV Node运行示例时出现此错误
return process.dlopen(module, path._makeLong(filename));
^
Error: /home/sunny/face/build/opencv/v5.0.0/Release/node-v46-linux-x64/opencv.node: undefined symbol: _ZNK2cv9Algorithm5writeERNS_11FileStorageE
at Error (native)
at Object.Module._extensions..node (module.js:460:18)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:313:12)
at Module.require (module.js:366:17)
at require (module.js:385:17)
at Object. (/home/sunny/face/lib/bindings.js:4:15)
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
我正在将一个HTML使用 bootstrap 的静态站点转换为 React.js 这里有几个 div 仅在 data-target 和 data-toggle 上打开。
<div className="card-header" id="headingFive">
<h5 className="mb-0">
<button
className="btn btn-link"
type="button"
data-toggle="collapse"
data-target="#collapseFive"
aria-expanded="true"
aria-controls="collapseOne">
Site Wide Events
</button>
</h5>
</div>
<div
id="collapseFive"
className="collapse show"
aria-labelledby="headingFive"
data-parent="#accordionThree">
<div className="card-body">
<div className="row">
<div className="col wall">
<h4 className="text-center">12</h4>
<p className="text-center">Target</p>
</div>
<div className="col">
<h4 className="text-center">13</h4>
<p className="text-center">Actual</p>
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我不想使用任何其他npm模块来实现相同的目的。
我尝试了这个但无法解决。
componentDidUpdate() {
$('.collapse').bootstrapToggle();
}
Run Code Online (Sandbox Code Playgroud) 我已经能够使用JWT战略实施护照,而且效果很好.我受jwt保护的路线看起来像这样......
app.get('/thingThatRequiresLogin/:id', passport.authenticate('jwt', { session: false }), thingThatRequiresLogin.findById);
Run Code Online (Sandbox Code Playgroud)
现在我需要将某些内容的访问限制为仅属于某个角色的登录用户.我希望我能像这样表达:
app.get('/thingThatRequiresLogin/:id', MAGIC, thingThatRequiresLogin.findById);
Run Code Online (Sandbox Code Playgroud)
哪里 MAGIC = require logged-in users, but only those with role x or y
node_acl似乎是一个很好的解决方案,我理解它到了一定程度,但后来我在doc中找到了这个...
我们可以保护这样的资源:
app.put('/blogs/:id', acl.middleware(), function(req, res, next){…}
Run Code Online (Sandbox Code Playgroud)
中间件将保护req.url命名的资源,从req.session.userId中选择用户并检查req.method的权限,因此上述内容将等同于:
我如何将其与我的jwt策略混合使用?我唯一的想法是放弃node_acl middleware,而是将acl检查代码添加到我的jwt策略中.但那就是我遇到麻烦的地方.我的jwt函数看起来像这样:
passport.use(new JwtStrategy(jwtOptions, function(jwt_payload, done) {
User.findOne({id: jwt_payload.sub}, function(err, user) {
if (err) {
return done(err, false);
}
if (user) {
done(null, user);
} else {
done(null, false);
// or you could create a new account
}
});
}));
Run Code Online (Sandbox Code Playgroud)
根据node_acl,我可以问这样的事情......
acl.isAllowed('jsmith', 'blogs', ['edit','view','delete']) …Run Code Online (Sandbox Code Playgroud) javascript ×2
node.js ×2
acl ×1
bootstrap-4 ×1
express ×1
frontend ×1
opencv ×1
passport.js ×1
reactjs ×1