HANA XS 匿名访问
声明:
本博客旨在交流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 匿名访问相关推荐
- 什么是 SAP HANA XS JavaScript
SAP HANA XS Javascript (简称 XSJS) 是一种编程模型,应用程序开发人员可以使用它来创建原生 SAP HANA 应用程序,按需向 UI 客户端暴露数据. 应用程序开发人员定义 ...
- javascript用户登录_SAP HANA XS的JavaScript安全事项
公众号:matinal 前言部分 我们都知道web程序都有潜在的安全隐患问题,那么SAP HANA XS的JavaScript也是一样,使用服务器端JavaScript编写应用程序代码,也有潜在的外部 ...
- 【第二篇】SAP HANA XS使用JavaScript编程详解
前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 在第一篇的时候,我们说过如下内容: SAP HANA XS支持JavaScript中的服务器端应用程序编程.开发的服务器端 ...
- 【HANA系列】SAP HANA XS使用JavaScript编程详解
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS使用Jav ...
- HANA XS调度作业
相信用过SQL SERVER的都知道,SQLSERVER的JOB是用SQL Server代理实现的,那么SAP HANA要做自动作业,要如何实现呢? SAP HANA XS Javascript (简 ...
- vsftp匿名访问目录_vsftp 匿名访问设置设置
vsftpd (very secure ftpd),这软件在权限管理什么的也太安全了点,一点小细节出问题也会出现访问不了的问题.只是想架个ftp局域网传文件,一些博客里小细节和背后设计没有提到,踩了一 ...
- SharePoint Application Page启用匿名访问
现在的项目需要使用sharepoint application page来展示图片影像,并让其它应用系统匿名访问,经过一番认真研究,主要有下面的步骤: 1. 在web applicaiton leve ...
- 微软BI 之SSRS 系列 - 报表邮件订阅中 SMTP 服务器匿名访问与 Windows验证, 以及如何成功订阅报表的实例...
这篇文章源于在上一篇博文中有园友提出订阅 SSRS 报表时的一个问题, 于是就好好总结了一下,把有关 SSRS 报表订阅的要点和容易出现问题的地方写出来,希望对大家有所帮助! 参看上一篇博文 - S ...
- java 匿名访问权限_java-春季安全性allowAll()不允许匿名访问
我有一个方法要同时允许匿名和身份验证访问. 我正在使用基于Java配置的Spring Security 3.2.4. 覆盖的configure方法(在我的自定义配置类中,扩展了WebSecurityC ...
最新文章
- 如何解决VHDL中参数化赋值:赋全0、全1、全z
- Android--GridView实现动态文字排版
- jQuery遍历函数总结
- 基于SpringBoot和Vue的分布式爬虫系统(JavaWeb)
- Android—设计模式原则及常见的设计模式
- 互斥锁和读写锁的区别
- 信息奥赛一本通的递推练习
- Adaptive Images : 为不同的屏幕尺寸提供不同的图片
- OpenSSL在Windows下使用vs2010的编译安装
- Eigen教程(10)之混淆
- javascript中object的运算符操作使用
- ASP.NET 首页性能的4大做法
- paip.DISCUZ道具开发指南-attilax总结-
- 2021年末IT公司市值排行榜
- 测试人,测试魂,3年测遍32个城,主管的一句话给予了他源源不断的动力
- skynet mysql 携程_有哪些小型后台服务端开源项目?
- 高德地图3D轨迹回放 + 视野跟随功能
- 7-2 高精度求累加和 分数 25作者 胡伟平单位 广西科技大学
- KSO--阿里云部署NetCore项目无法通过端口号访问
- Ubuntu安装SS及win10下客户端使用指南