应用程序运行时的授权

2020-08-18 18:57发布

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

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


大家好,

我确实使用了npm模块护照,并且能够为我的服务定义一些限制。 我想知道是否可以在应用程序运行时通过浏览器调用身份验证?

如果我对服务(以下代码)使用限制,则浏览器会在我启动时立即要求我登录 该应用程序。 此外,无法切换用户,我必须删除浏览器数据或使用私有会话,以免浏览器不保存登录数据。

 @path:'/manage'
 服务SelfService @((需要:"管理员"){
     实体人是对人的投射;

 }
//问题:启动应用程序时,fiori希望用户登录
//需要:触发动作后,应用会要求登录
 使用@(限制:[
         {grant:['UPDATE','DELETE'] to:'admin'}
 ]);
 

但是; 如果我将服务限制在" service.js"文件中,则浏览器不希望我登录,而只是由于用户角色错误而拒绝该操作。

 srv.before(['UPDATE'],'People',async req => {
         req.user.is('admin')||  req.reject(403,"您无权更新某人")
     })
 

在应用运行时是否可以更改用户?
如果部署应用,我将如何处理用户和授权限制?

干杯,
索尔斯滕

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

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


大家好,

我确实使用了npm模块护照,并且能够为我的服务定义一些限制。 我想知道是否可以在应用程序运行时通过浏览器调用身份验证?

如果我对服务(以下代码)使用限制,则浏览器会在我启动时立即要求我登录 该应用程序。 此外,无法切换用户,我必须删除浏览器数据或使用私有会话,以免浏览器不保存登录数据。

 @path:'/manage'
 服务SelfService @((需要:"管理员"){
     实体人是对人的投射;

 }
//问题:启动应用程序时,fiori希望用户登录
//需要:触发动作后,应用会要求登录
 使用@(限制:[
         {grant:['UPDATE','DELETE'] to:'admin'}
 ]);
 

但是; 如果我将服务限制在" service.js"文件中,则浏览器不希望我登录,而只是由于用户角色错误而拒绝该操作。

 srv.before(['UPDATE'],'People',async req => {
         req.user.is('admin')||  req.reject(403,"您无权更新某人")
     })
 

在应用运行时是否可以更改用户?
如果部署应用,我将如何处理用户和授权限制?

干杯,
索尔斯滕

付费偷看设置
发送
4条回答
Baoming ROSE
1楼 · 2020-08-18 19:31.采纳回答

您好 ThorstenMüller

当前,在开发模式下,行为与您所描述的一样。

在生产中,应使用身份验证策略JWT(请参见 https://cap.cloud.sap/docs/node.js/authentication#jwt ),通过它可以对每个请求进行多带带验证,即无需清除任何数据。

最好,
塞巴斯蒂安

闻人可可
2楼-- · 2020-08-18 19:33

在接下来的几个月中...可能会像往常一样进行更改。 ;)

打个大熊猫
3楼-- · 2020-08-18 19:26

我主要通过Chrome浏览器的"人"功能解决了本地测试难题。 但我建议您进行自动化测试。

小灯塔
4楼-- · 2020-08-18 19:43

当然可以,

我以前从未使用过它,但这是一个很棒的主意。 我一定牢记:)

一周热门 更多>