声明:
本博客旨在交流SAP内存数据库产品HANA的相关开发技术
文章内容主要来源于官方文档、SCN网友及笔者个人开发经验,欢迎转载但请注明引用
文中所有操作皆在HANA Studio中执行,HDB基于SPS09版本,截止笔者发稿前,HDB最新版本已至SPS12

####XS
XS是HANA基于Spider Monkey的JS引擎。其主要应用场景如下:

  • 创建HANA Job
  • 提供HTTP服务
  • OData数据源
  • 开发SAP UI5 B/S 应用

XS与其它系统可以通过SSL,SAML等方式进行身份认证,实现单点登录。然本文主要演示下如何实现XS匿名访问,以飨同笔者一样的权限管理苦手。

Note:本文假定读者是HANA开发人员,且已掌握了XS服务的开发(笔者后续亦会不定时整理些XS基础开发资料)


####Step 1.1 XS服务创建

笔者在HANA下创建了一个XS项目 XS_DEMO_01
.xsaccess.xsapp 均选取默认值

TEST.xsjs 代码如下:

var connection = $.hdb.getConnection();
var str_sql = 'SELECT * FROM "TEST"."TEST::DEMO_TABLE.DEMO_TABLE"';
var result = connection.executeQuery(str_sql);$.response.contentType = "text/html";
$.response.setBody(JSON.stringify(result));

该服务通过API访问HANA数据库,并将查询到的结果以JSON格式返回

####Step 1.2 XS服务测试
在浏览器访问http://<hanahost>:80<instance>/TEST/XS_DEMO_01/TEST.xsjs
如无意外,会自动跳转到HANA登录界面

我们以拥有SELECT DEMO_TABLE权限的用户登录,浏览器就能正常获得查询结果:

####Step 2.2 Public权限设置
如果我们想实现免身份认证的方式,来访问这个XS服务,那请按下面操作:
首先登录HANA的XS管理器
http://<hana_host>:80<Instance>/sap/hana/xs/admin/
点击左上角菜单选择XS Artifact Administration

在右侧的列表里面选中我们XS服务所在的Package TEST

最后编辑右侧的权限配置,勾选Public后保存,大家都懂的,这时已显示访问该服务无须任何权限须求

####Step 2.3 XS服务测试
清除浏览器缓存后,我们再次访问XS服务,会见到如下界面:

的确,我们这次没有登录界面,但返回的是查询错误,原因就是因为我们是匿名访问,HANA会认为我们没有权限做任何数据库操作

Note:如果不涉及任何数据库层面的操作,XS服务可以正常访问

####Step 2.4 xssqlcc文件配置
为了解决数据库导致的权限问题,我们还须要进行额外的配置
我们在XS项目文件夹下新建了一个 .xssqlcc 的sql链接配置文件

{"description" : "TEST"
}

同时修改TEST.xsjs。可以看到,变化的部分是声明数据连接时,以TEST.xssqlcc 配置的用户访问HANA数据库

var connection = $.hdb.getConnection({
"isolationLevel": $.hdb.isolation.REPEATABLE_READ,
"sqlcc": "TEST.XS_DEMO_01::TEST"
});
var str_sql = 'SELECT * FROM "TEST"."TEST::DEMO_TABLE.DEMO_TABLE"';
var result = connection.executeQuery(str_sql);$.response.contentType = "text/html";
$.response.setBody(JSON.stringify(result));

最后一步,我们再次登录XS管理器,XS Artifact Administration 中进入到我们的 TEST 项目目录,选中里面的xssqlcc文件,这时我们就可在右边配置匿名访问HANA数据库时的用户

####Step 2.5 匿名访问实现
完成上述所有步骤后,清空浏览器缓存,访问XS服务,这次服务器成功返回了结果,且未要求身份认证,匿名访问成功实现。

HANA XS 匿名访问相关推荐

  1. 什么是 SAP HANA XS JavaScript

    SAP HANA XS Javascript (简称 XSJS) 是一种编程模型,应用程序开发人员可以使用它来创建原生 SAP HANA 应用程序,按需向 UI 客户端暴露数据. 应用程序开发人员定义 ...

  2. javascript用户登录_SAP HANA XS的JavaScript安全事项

    公众号:matinal 前言部分 我们都知道web程序都有潜在的安全隐患问题,那么SAP HANA XS的JavaScript也是一样,使用服务器端JavaScript编写应用程序代码,也有潜在的外部 ...

  3. 【第二篇】SAP HANA XS使用JavaScript编程详解

    前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 在第一篇的时候,我们说过如下内容: SAP HANA XS支持JavaScript中的服务器端应用程序编程.开发的服务器端 ...

  4. 【HANA系列】SAP HANA XS使用JavaScript编程详解

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS使用Jav ...

  5. HANA XS调度作业

    相信用过SQL SERVER的都知道,SQLSERVER的JOB是用SQL Server代理实现的,那么SAP HANA要做自动作业,要如何实现呢? SAP HANA XS Javascript (简 ...

  6. vsftp匿名访问目录_vsftp 匿名访问设置设置

    vsftpd (very secure ftpd),这软件在权限管理什么的也太安全了点,一点小细节出问题也会出现访问不了的问题.只是想架个ftp局域网传文件,一些博客里小细节和背后设计没有提到,踩了一 ...

  7. SharePoint Application Page启用匿名访问

    现在的项目需要使用sharepoint application page来展示图片影像,并让其它应用系统匿名访问,经过一番认真研究,主要有下面的步骤: 1. 在web applicaiton leve ...

  8. 微软BI 之SSRS 系列 - 报表邮件订阅中 SMTP 服务器匿名访问与 Windows验证, 以及如何成功订阅报表的实例...

    这篇文章源于在上一篇博文中有园友提出订阅 SSRS 报表时的一个问题,  于是就好好总结了一下,把有关 SSRS 报表订阅的要点和容易出现问题的地方写出来,希望对大家有所帮助! 参看上一篇博文 - S ...

  9. java 匿名访问权限_java-春季安全性allowAll()不允许匿名访问

    我有一个方法要同时允许匿名和身份验证访问. 我正在使用基于Java配置的Spring Security 3.2.4. 覆盖的configure方法(在我的自定义配置类中,扩展了WebSecurityC ...

最新文章

  1. 如何解决VHDL中参数化赋值:赋全0、全1、全z
  2. Android--GridView实现动态文字排版
  3. jQuery遍历函数总结
  4. 基于SpringBoot和Vue的分布式爬虫系统(JavaWeb)
  5. Android—设计模式原则及常见的设计模式
  6. 互斥锁和读写锁的区别
  7. 信息奥赛一本通的递推练习
  8. Adaptive Images : 为不同的屏幕尺寸提供不同的图片
  9. OpenSSL在Windows下使用vs2010的编译安装
  10. Eigen教程(10)之混淆
  11. javascript中object的运算符操作使用
  12. ASP.NET 首页性能的4大做法
  13. paip.DISCUZ道具开发指南-attilax总结-
  14. 2021年末IT公司市值排行榜
  15. 测试人,测试魂,3年测遍32个城,主管的一句话给予了他源源不断的动力
  16. skynet mysql 携程_有哪些小型后台服务端开源项目?
  17. 高德地图3D轨迹回放 + 视野跟随功能
  18. 7-2 高精度求累加和 分数 25作者 胡伟平单位 广西科技大学
  19. KSO--阿里云部署NetCore项目无法通过端口号访问
  20. Ubuntu安装SS及win10下客户端使用指南

热门文章

  1. 并查集(Union-Find)
  2. ecs共享型s6怎么样?
  3. SPDY:一种更快速web的实验协议(转)
  4. linux7 etc下的grub2,Centos7安装 grub2 配置技巧:改变启动顺序
  5. ❤️UNITY实战进阶-OBB包围盒详解-6
  6. html 绘制篮球,7篮球运动.html
  7. Android 应用桌面角标显示
  8. java 像素矩阵_JAVA eclipse 中,已知灰度图像的像素矩阵怎么输出这个图像
  9. 继续安利两个漫画App
  10. 微信6.0 ActionBar样式