SQLITE_ERROR:没有这样的表:localized_AdminService_Authors

2020-08-13 16:39发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,为了了解Cloud Foundry上CAP应用程序中的身份验证和授权,我一直在使用此文档 https://cap.cloud.sap/docs/node.js/authentication

总而言之,我已经遍历 https://cap。 CAP文档中的cloud.sap/docs/get-started/in-a-nutshell 指南,接着是我上面链接的身份验证文档中的"基于令牌的身份验证(JWT)"部分, 之前"自定义身份验证中间件"部分

当我在隐身窗口中运行CAP服务进行测试时,可以按预期方式登录,但是随后当我尝试访问受admin角色保护的Admin服务时,出现以下错误

获取/admin/Authors
 [2020-08-10T07:47:48.189Z | 错误|  1431319]:SQLITE_ERROR:没有这样的表:localized_AdminService_Authors
 [2020-08-10T07:47:48.189Z | 错误|  1431319]:错误堆栈跟踪:错误:SQLITE_ERROR:否这样的表:localized_AdminService_Authors
 

我尝试了在其他答案中发现的一些内容,这些内容听起来很相似,但没有一个起作用。 任何帮助将非常感激。 我已经在下面添加了可能与之相关的文件。

 package.json
 {
   " name":" authtest",
   " version":" 1.0.0",
   " description":"一个简单的CAP项目。",
   " repository":" <在此处添加您的存储库>",
   " license":" UNLICENSED",
   "私人":是的,
   "依赖关系":{
     " @ sap/audit-logging":" ^ 3.1.1",
     " @ sap/cds":" ^ 4.1.5",
     " @ sap/xsenv":" ^ 3.0.0",
     " @ sap/xssec":" ^ 2.2.5",
     "表达":" ^ 4",
     "护照":" ^ 0.4.1"
   },
   " devDependencies":{
     " sqlite3":" ^ 4.2.0"
   },
   "脚本":{
     " start":" npx cds运行"
   },
   " cds":{
     " hana":{
       "部署格式":" hdbtable"
     },
     "要求":{
       "D b": {
         " kind":" sql"
       },
       "验证":{
         " strategy":" JWT"
       },
       " uaa":{
         " kind":" xsuaa"
       }
     }
   }
 } 
 xs-app.json
 {
   "路线":[{
     " source":" ^/(。*)",
     "目的地":" srv_api"
    }]
  }
 
 admin-service.cds

 使用" ../db/schema"中的{sap.capire.bookshop作为我的};

 服务AdminService @(需要:'admin'){
   实体书作为my.Books上的投影;
   实体Authors作为my.Authors的投影;
 }
 

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,为了了解Cloud Foundry上CAP应用程序中的身份验证和授权,我一直在使用此文档 https://cap.cloud.sap/docs/node.js/authentication

总而言之,我已经遍历 https://cap。 CAP文档中的cloud.sap/docs/get-started/in-a-nutshell 指南,接着是我上面链接的身份验证文档中的"基于令牌的身份验证(JWT)"部分, 之前"自定义身份验证中间件"部分

当我在隐身窗口中运行CAP服务进行测试时,可以按预期方式登录,但是随后当我尝试访问受admin角色保护的Admin服务时,出现以下错误

获取/admin/Authors
 [2020-08-10T07:47:48.189Z | 错误|  1431319]:SQLITE_ERROR:没有这样的表:localized_AdminService_Authors
 [2020-08-10T07:47:48.189Z | 错误|  1431319]:错误堆栈跟踪:错误:SQLITE_ERROR:否这样的表:localized_AdminService_Authors
 

我尝试了在其他答案中发现的一些内容,这些内容听起来很相似,但没有一个起作用。 任何帮助将非常感激。 我已经在下面添加了可能与之相关的文件。

 package.json
 {
   " name":" authtest",
   " version":" 1.0.0",
   " description":"一个简单的CAP项目。",
   " repository":" <在此处添加您的存储库>",
   " license":" UNLICENSED",
   "私人":是的,
   "依赖关系":{
     " @ sap/audit-logging":" ^ 3.1.1",
     " @ sap/cds":" ^ 4.1.5",
     " @ sap/xsenv":" ^ 3.0.0",
     " @ sap/xssec":" ^ 2.2.5",
     "表达":" ^ 4",
     "护照":" ^ 0.4.1"
   },
   " devDependencies":{
     " sqlite3":" ^ 4.2.0"
   },
   "脚本":{
     " start":" npx cds运行"
   },
   " cds":{
     " hana":{
       "部署格式":" hdbtable"
     },
     "要求":{
       "D b": {
         " kind":" sql"
       },
       "验证":{
         " strategy":" JWT"
       },
       " uaa":{
         " kind":" xsuaa"
       }
     }
   }
 } 
 xs-app.json
 {
   "路线":[{
     " source":" ^/(。*)",
     "目的地":" srv_api"
    }]
  }
 
 admin-service.cds

 使用" ../db/schema"中的{sap.capire.bookshop作为我的};

 服务AdminService @(需要:'admin'){
   实体书作为my.Books上的投影;
   实体Authors作为my.Authors的投影;
 }
 
付费偷看设置
发送
3条回答
bbpeas
1楼-- · 2020-08-13 17:11

感谢您的快速回复 David Kunz

cds watch是我当前正在运行数据服务的方式,但是我尝试了您的其他建议,但是不幸的是,这没有任何区别。

我认为最初问题的扩展可能是,为什么仅在添加身份验证后才要求/尝试使用本地化表? 如果我从管理服务中删除了" requires:'admin'",那么它会正确返回数据

Cikesha
2楼-- · 2020-08-13 17:18

嗨,约翰,这确实是一种奇怪的行为。 您正在使用哪个版本的@ sap/cds?

cds -v

您尝试使用最新的(4.1.5)

Violet凡
3楼-- · 2020-08-13 17:33

嗨,大卫,

我正在使用最新版本的@ sap/cds。 请参阅以下内容以供参考:

 cds -v
 @ sap/audit-logging:3.1.1
 @ sap/cds:4.1.5
 @ sap/cds-compiler:1.35.0
 @ sap/cds-dk:2.0.7
 @ sap/cds-foss:2.0.0
 @ sap/cds-reflect:2.12.2
 @ sap/cds-runtime:2.1.5
 @ sap/xsenv:3.0.0
 @ sap/xssec:2.2.5
 Node.js:v12.16.1
 验证测试:1.0.0
 

一周热门 更多>