mm-bzu 发表于 2024-5-16 16:54:58

[ActiveReports] /api/reports 请求中怎么添加Authorization

我们想对ActiveReports所有的请求都加上Authorization验证,目前我们在/api/reporting的请求加上了验证,但是对于别的请求例如 /api/reports,我们没有地方去配置它,所有没法添加验证。请问一下,有什么地方可以给/api/reports请求加上Authorization吗?



目前/api/reporting请求是这样加的。


还有我想请问一下,对于ActiveReports 16 我们.net core项目后端想去验证这个请求的token,是只能从context.Request 中取出Authorization,再去对
Authorization里面的token进行判断吗?还是说有别的更简单的方式


Eden.Sun 发表于 2024-5-16 16:54:59

本帖最后由 Eden.Sun 于 2024-5-17 18:09 编辑

mm-bzu 发表于 2024-5-17 13:23
我想问的是请求 /api/reports,不是/api/reporting,该怎么加上token
您这个 /api/reports 的请求是预览的时候发送的一个请求么:

这个请求是设计器中通过server设置的, /api 这个可以修改,   /reports之后的内容是固定无法修改的。
如果是要在这里加token的话,实在创建设计器的时候添加的:

let viewer = null;
arWebDesigner.create('#ar-web-designer', {
    rpx: { enabled: true },
    appBar: { openButton: { visible: true } },
    server: {
      url: 'aaaaa',
      onBeforeRequest: (init) => {
            init.headers.token = "token";
            return init;
      }
    },
    data: { dataSets: { canModify: true }, dataSources: { canModify: true } },
    preview: {
      openViewer: (options) => {
            if (viewer) {
                viewer.openReport(options.documentInfo.id);
                return;
            }
            viewer = createViewer({
                element: '#' + options.element,
                securityToken: 'security_token13165', //provide securityToken
                reportService: {
                  url: 'api/reporting',
                },
                reportID: options.documentInfo.id,
                settings: {
                  zoomType: 'FitPage',
                },
            });
      }
    }
});




Eden.Sun 发表于 2024-5-17 12:25:35

您好,确实在 onRequest 时间中添加请求头的。



不过在AR16有个securityToken 属性可直接传 token,不过这个可能需要咱们从项目层面获取 token 的值然后进行判断。
具体的您可以参考下接口api:https://developer.mescius.com/activereportsnet/docs/versions/v16/online/using-js-viewer.html?highlight=authorization%2C

mm-bzu 发表于 2024-5-17 13:23:28

本帖最后由 mm-bzu 于 2024-5-17 15:41 编辑

我想问的是请求 /api/reports,不是/api/reporting,该怎么加上token

Eden.Sun 发表于 2024-5-17 18:10:30

Eden.Sun 发表于 2024-5-17 18:08
您这个 /api/reports 的请求是预览的时候发送的一个请求么:

这个请求是设计器中通过server设置的, / ...

如果不会修改url的话,不用修改url的值。



server: {
      onBeforeRequest: (init) => {
            init.headers.token = "token";
            return init;
      }
    },






wengMQ 发表于 2024-5-17 18:40:41

【新提醒】Web端在线设计器项目实际分享 - ActiveReports专区 - 专题教程 - 葡萄城开发者社区https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=144262&extra=page%3D1

Eden.Sun 发表于 2024-5-20 11:42:56

wengMQ 发表于 2024-5-17 18:40
【新提醒】Web端在线设计器项目实际分享 - ActiveReports专区 - 专题教程 - 葡萄城开发者社区https://gcd ...

:hjyzw:

Eden.Sun 发表于 2024-5-20 11:43:06

您的问题解决了么。

mm-bzu 发表于 2024-5-28 17:07:51



能否回答下这个问题

Eden.Sun 发表于 2024-5-28 18:57:25

本帖最后由 Eden.Sun 于 2024-5-28 18:58 编辑

mm-bzu 发表于 2024-5-28 17:07
能否回答下这个问题

您可以看一下我上面的回复,/api/reports   需要在designer的server参数中进行修改:


页: [1] 2
查看完整版本: [ActiveReports] /api/reports 请求中怎么添加Authorization