node.js - 如何通过用户名和密码保护环回资源管理器?
问题描述
我刚刚开始使用 loopback4,我想保护 /explorer 不被公开。用户最初会看到一个必须输入用户名和密码的页面。如果成功,用户将被重定向到 /explorer,在那里他可以看到所有 API 方法(并执行它们)。如果用户未通过身份验证,访问路径 /explorer 将给出“未经授权”的响应。有没有办法轻松实现这一点?
解决方案
在https://github.com/strongloop/loopback-next/issues/5758中讨论为所有路由(包括资源管理器)启用 GLOBAL 默认策略时存在问题
方法是通过选项指定全局元数据:
this.configure(AuthenticationBindings.COMPONENT).to({
defaultMetadata: {
strategy: 'JWTStrategy'
}
})
this.component(AuthenticationComponent);
registerAuthenticationStrategy(this, JWTAuthenticationStrategy)
但在启用由 添加的单个端点方面,route.get()
尚不支持,请参阅资源管理器如何注册的代码。@loopback/authentication
从控制器类或其成员中检索身份验证策略名称,但如果控制器中未定义路由,则只能回退到默认选项,请参阅实现
推荐阅读
- sql-server - SSIS:动态配置的模糊查找
- netsuite - SS2.0 将电子邮件附加到多个记录(包括自定义记录)
- node.js - 将 Javascript 字符串数组转换为 C++ 字符串数组
- javascript - 如何使用 JavaScript DOM 在 html 中添加 svg?
- python - 如何使用 attr.validators.optional
- woocommerce - Woocommerce - 购物车中的错误舍入值
- javascript - 如何从数组对象中的嵌套数组中获取数据
- python - 需要将以下代码的python输出导出为json(key:value)格式文件
- c++ - 致命错误:H5Cpp.h:没有这样的文件或目录
- c# - 如何将“IStorageItem”的实现传递给 DataPackage.SetStorageItems(items) 并且不会在 UWP 上引发 InvalidCastException?