安全特性服务认证-示例

1111
8
06-16-2021 06:58 PM
AnnCrystal
通过
新贡献者II

我想知道你们是否有在通过门户进行身份验证的联邦服务器中为安全功能服务创建登录的示例?所提供的示例是通过arcgis.com进行身份验证,而不是为ArcGIS Enterprise提供选项。我是个新手,请忽略我刚开始遇到的麻烦。

谢谢

0荣誉
8回答说
John_Spence
通过
临时贡献者III

您只是想通过API提升数据,还是想让用户在使用地图产品时不必登录到安全服务?

0荣誉
AnnCrystal
通过
新贡献者II

我想要完成的是-编辑作为联邦服务器中的功能服务发布的安全功能表。通常,当您加载一个安全的特性服务时,它将提示用户凭据。

所以,我要做的是首先对它进行身份验证,然后将凭据传递给该功能服务(记住会话),并在该功能表上执行添加/编辑/更新等。

Oauth2的例子展示了如何通过ArcGIS.com进行身份验证,它没有提供切换登录到ArcGIS企业的选项。如果你有一个例子来做到这一点,那就太好了。我认为这是一个常见的场景,每个人都遇到过对一个特征层/表做一个基本的CRUD操作。但是,不知道从哪里开始: disappointed_face:没有样本。
同时,也请提出一些学习建议。谢谢!

0荣誉
John_Spence
通过
临时贡献者III

我假设你是在Pro,桌面或Web应用程序生成器类型的应用程序之外这样做,并直接通过API插入。

Python示例:

def get_token ():
#-------------------------------------------------------------------------------
# Name: Function -
目的:
#-------------------------------------------------------------------------------

data = checklist.b64decode(AGOL_Pass)
Pw = data.decode("ascii")

Url = 'https://www.arcgis.com/sharing/rest/generateToken
值= {'f': 'json',
“用户名”:AGOL_User,
“密码”:pw,
'referer': 'https://www.arcgis.com',
'expiration': '10'}

Data = urllib.parse.urlencode(values).encode("utf-8")
req = urllib.request.Request(url)

response =无
而响应为None:
试一试:
Response = urllib.request.urlopen(req,data=data)
除了:
通过

The_page = response.read()

#垃圾收集和一些房屋建筑
Payload_json = the_page.decode('utf8')
Payload_json = json.loads(Payload_json)

Edit_token = payload_json['token']

返回(edit_token)

如果你想通过一个web应用程序来做这件事,你可以采取获得一个长期令牌的方式。但是,在这种情况下,根据您的配置方式,会涉及到一些风险。您将附加?token={},{}是您将为服务插入的令牌。这将允许您使用Portal帐户作为该功能服务的身份验证。

0荣誉
John_Spence
通过
临时贡献者III

哦! !您可能需要的门户令牌的URL如下:https://yourserver.com/webadaptorname/admin/login

我假设您将在该URL和门户web适配器名称中使用门户服务器。

0荣誉
John_Spence
通过
临时贡献者III
0荣誉
AnnCrystal
通过
新贡献者II

非常感谢!是的,我研究了Oauth jsapi 1 -不知道如何让它在企业中工作。对不起,我应该告诉你我是怎么做到的。我试图把一个基本的web应用程序-通过javascript。python的例子很好——你有javascript的例子吗?

0荣誉
John_Spence
通过
临时贡献者III
0荣誉
AnnCrystal
通过
新贡献者II

太棒了,我可以登录传送门了。我如何将凭证传递到安全的地图服务层?

0荣誉