当前位置: 首页 > 知识库问答 >
问题:

如何在js中存储从用户界面访问远程Liferay JSon API的用户凭据?

孟宏才
2023-03-14

我目前正在与Liferay 6.2-ga1合作。我正在开发一个portlet,其中包含一个使用可手持javascript库生成的表。

此表具有可编辑的单元格。一旦用户更改了单元格中的值,就会随着更改调用回调。我想调用我的portlet API的POST方法(比方说 /changes上的POST,它发送一个包含更改的JSON对象)。

要从其余api调用方法,必须对用户进行身份验证。Liferay支持基本的超文本传输协议身份验证用户名:passwd@host: port/api/jsonws/foo/bar

为了调用远程api方法,我如何安全地检索用户名和密码而不暴露它们?

谢谢

共有1个答案

全丰
2023-03-14

经过进一步的调查和玩我浏览器的javascript控制台,我发现当调用是由Javascript从portlet发出时,你不需要关心身份验证:你会得到当前登录用户的特权。

您可以在地址http://{host}:{port}/api/jsonws处找到可以调用的方法列表

另外,点击左侧菜单中的方法并使用一些参数执行它(如果需要的话),将引导您进入一个视图,您可以在其中获得生成的javascript。在代码中使用该javascript将允许您使用REST api,将身份验证负担留给Liferay。

 类似资料:
  • 一个GAE应用程序有可能使用Objectify访问另一个GAE应用程序(两个应用程序都托管在同一个Google帐户下)的数据存储吗?如果是,我如何传递服务帐户凭据来对象化(哪个API调用)?

  • 所以,我正在运行一个童子军服务器,为此,我制作了一个机器人。为了更好的组织,我们一直在努力获得每个人的真实姓名。机器人将要求他们的名字,他们将键入!命名为Travis_c。然后我希望它将他们的不一致用户名存储在一个变量中,并发送一条消息告诉我trullycool= ' ' 我有问题用户=message.author()我知道如果我想回复我做的事情message.reply但在我的情况下不会工作。

  • 我正在尝试使用django-storages为带有服务帐户json文件的google云存储桶授予权限。但是,只有当我向所有具有对象视图权限的用户授予访问权限时,才能访问桶中的项目。我如何限制桶的公共访问。

  • 从Google云应用程序中,我需要打开位于项目云存储中的文件。我试图使用以下表单的URL访问该文件,但出现以下错误:http://storage.googleapis.com/my-bucket/my-file错误:访问被拒绝。匿名调用方没有存储对象 www.googleapis。com/上传/存储/v1/b/http://my_appl//my-bucket/my-file错误404 www.g

  • 问题内容: 我在开发中使用带有护照的节点/表达式。我碰到一篇文章说: Express加载会话数据并将其附加到请求。当护照在会话中存储序列化的用户时,可以在req.session.passport.user中找到序列化的用户对象。 但是令我惊讶的是,浏览器cookie中的sessionID存储的值在登录前后都保持不变。那么,序列化的用户对象存储在哪里? 我以为它最初存储在用户cookie中,但似乎不

  • 问题内容: 我创建的用户使用。但是我无法连接: 创建user时,我可以连接。为什么?’%’不是来自任何主机吗? 问题答案: 为了远程连接,您必须使MySQL将端口3306绑定到my.cnf中计算机的IP地址。然后,您必须同时在localhost和’%’通配符中创建用户,并在所有DB上授予权限 。 见下文: my.cnf(在Windows上为my.ini) 然后 然后 根据您的操作系统,您可能必须打