点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
尊敬的专家,
我的CAP项目有一个公共部门和一个后台办公室。 我想通过XSUAA通过身份验证来保护后台应用程序,但不通过身份验证即可保持前端打开。
我试图像这样在xs-app.json中实现它:
{ " welcomeFile":"/img/customer", " authenticationMethod":"路由", "路线":[{ " source":" ^/admin/(.*)$", " target":" $ 1", " localDir":" admin/webapp/", " authenticationType":" xsuaa" },{ " source":" ^/customer/(.*)$", " authenticationType":"无", " csrfProtection":否, " target":" $ 1", " localDir":"客户" }] }
但是,这似乎不起作用。 对localhost:5000上的approuter的任何访问都将通过UAA路由到登录名。 如果我直接通过转到localhost:5000/customer/来访问客户路由,则看来approuter仍然希望进行类似登录的操作,因为我在approuter日志中收到以下异常,并且浏览器请求超时:
(节点:21017)UnhandledPromiseRejectionWarning:TypeError:无法读取未定义的属性"令牌" 在/Users/manuels/Documents/ccscp/cap_demo/maikeyserver/app/approuter.js:6:33 通话时(/Users/manuels/Documents/ccscp/cap_demo/maikeyserver/app/node_modules/connect/index.js:239:7) 在下一个(/Users/manuels/Documents/ccscp/cap_demo/maikeyserver/app/node_modules/connect/index.js:183:5) 压缩时(/Users/manuels/Documents/ccscp/cap_demo/maikeyserver/app/node_modules/compression/index.js:220:5) 通话时(/Users/manuels/Documents/ccscp/cap_demo/maikeyserver/app/node_modules/connect/index.js:239:7) 在下一个(/Users/manuels/Documents/ccscp/cap_demo/maikeyserver/app/node_modules/connect/index.js:183:5) 在module.exports(/Users/manuels/Documents/ccscp/cap_demo/maikeyserver/app/node_modules/@sap/approuter/lib/middleware/logout-middleware.js:14:3) 通话时(/Users/manuels/Documents/ccscp/cap_demo/maikeyserver/app/node_modules/connect/index.js:239:7) 在下一个(/Users/manuels/Documents/ccscp/cap_demo/maikeyserver/app/node_modules/connect/index.js:183:5) 在cacheRequestData(/Users/manuels/Documents/ccscp/cap_demo/maikeyserver/app/node_modules/@sap/approuter/lib/middleware/cache-request-middleware.js:9:12) (节点:21017)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。 该错误是由于在没有catch块的情况下抛出异步函数而引起的,或者是由于拒绝了.catch()未处理的承诺而导致的。 (拒绝ID:1) (节点:21017)[DEP0018] DeprecationWarning:已弃用未处理的承诺拒绝。 将来,未处理的承诺拒绝将以非零退出代码终止Node.js进程。
如何使/customer/路线可公开访问,并在不登录的情况下将访问者发送到/到此路线?
最诚挚的问候,
Manuel
发现了问题。 我已经将JWT令牌记录器内置到approuter中,这导致了异常。 现在完全有意义了...
无论如何,更改代码可修复异常:
嗨,格雷格,
谢谢。 这就是我所拥有的,但似乎不起作用。 如果我直接访问该路由,我将从上面得到例外。
最诚挚的问候,
Manuel
嗨曼努埃尔,
请查看 approuter文档,请尝试在您的客户路线中添加:
。
最诚挚的问候
格雷戈尔
一周热门 更多>