Class: SecurityManager

SecurityManager

安全管理中心,提供 iServer,iPortal,Online 统一权限认证管理。

使用说明: 创建任何一个服务之前调用 SecurityManager.registerTokenSecurityManager.registerKey注册凭据。 发送请求时根据 URL 或者服务 ID 获取相应的 key 或者 token 并自动添加到服务地址中。

new SecurityManager()

Usage
// 浏览器
<script type="text/javascript" src="https://iclient.supermap.io/dist/mapboxgl/iclient-mapboxgl.js"></script>
<script>
  new mapboxgl.supermap.SecurityManager();
  
  // 弃用的写法
  new SuperMap.SecurityManager();

</script>

// ES6 Import
import { SecurityManager } from '@supermap/iclient-mapboxgl';

new SecurityManager();

common/security/SecurityManager.js, line 8

Methods

static appendCredential(url){string}

common/security/SecurityManager.js, line 315

服务URL追加授权信息,授权信息需先通过SecurityManager.registerKey或SecurityManager.registerToken注册。

Name Type Description
url string

服务URL。

Version:
  • 10.1.2
Returns:
Type Description
string 绑定了token或者key的服务URL。

static destroyAllCredentials()

common/security/SecurityManager.js, line 273

清空全部验证信息。

static destroyKey(url)

common/security/SecurityManager.js, line 299

清空服务授权码。

Name Type Description
url string

iServer 首页地址,如:http://localhost:8090/iserver。

static destroyToken(url)

common/security/SecurityManager.js, line 283

清空令牌信息。

Name Type Description
url string

iportal 首页地址,如:http://localhost:8092/iportal。

static generateToken(url, tokenParam){Promise}

common/security/SecurityManager.js, line 20

从服务器获取一个token,在此之前要注册服务器信息。

Name Type Description
url string

服务器域名+端口,如:http://localhost:8092。

tokenParam TokenServiceParameter

token 申请参数。

Returns:
Type Description
Promise 包含 token 信息的 Promise 对象。

static getKey(id){string}

common/security/SecurityManager.js, line 116

根据 URL 获取 key。

Name Type Description
id string

ID。

Returns:
Type Description
string key。

static getServerInfo(url){ServerInfo}

common/security/SecurityManager.js, line 90

获取服务器信息。

Name Type Description
url string

服务器域名+端口,如:http://localhost:8092。

Returns:
Type Description
ServerInfo 服务器信息。

static getToken(url){string}

common/security/SecurityManager.js, line 101

根据 URL 获取token。

Name Type Description
url string

服务器域名+端口,如:http://localhost:8092。

Returns:
Type Description
string token。

static loginiPortal(url, username, password){Promise}

common/security/SecurityManager.js, line 189

iPortal登录验证。

Name Type Description
url string

iportal 首页地址,如:http://localhost:8092/iportal。

username string

用户名。

password string

密码。

Returns:
Type Description
Promise 包含 iPortal 登录请求结果的 Promise 对象。

static loginiServer(url, username, password, rememberme){Promise}

common/security/SecurityManager.js, line 128

iServer 登录验证。

Name Type Default Description
url string

iServer 首页地址,如:http://localhost:8090/iserver。

username string

用户名。

password string

密码。

rememberme boolean false 可选

是否记住。

Returns:
Type Description
Promise 包含 iServer 登录请求结果的 Promise 对象。

static loginManager(url, loginInfoParams, options){Promise}

common/security/SecurityManager.js, line 239

iManager 登录验证。

Name Type Description
url string

iManager 地址。地址参数为 iManager 首页地址,如: http://localhost:8390/imanager。

loginInfoParams Object 可选

iManager 登录参数。

Name Type Description
userName string

用户名。

password string

密码。

options Object
Name Type Default Description
isNewTab boolean true 可选

不同域时是否在新窗口打开登录页面。

Returns:
Type Description
Promise 包含 iManager 登录请求结果的 Promise 对象。

static loginOnline(callbackLocation, newTab)

common/security/SecurityManager.js, line 178

Online 登录验证。

Name Type Default Description
callbackLocation string

跳转位置。

newTab boolean true 可选

是否新窗口打开。

static logoutiPortal(url){Promise}

common/security/SecurityManager.js, line 215

iPortal 登出。

Name Type Description
url string

iportal 首页地址,如:http://localhost:8092/iportal。

Returns:
Type Description
Promise 如果登出成功,返回 true;否则返回 false。

static logoutiServer(url){Promise}

common/security/SecurityManager.js, line 155

iServer登出。

Name Type Description
url string

iServer 首页地址,如:http://localhost:8090/iserver。

Returns:
Type Description
Promise 是否登出成功。

static registerKey(ids, key)

common/security/SecurityManager.js, line 71

注册 key,ids 为数组(存在一个 key 对应多个服务)。

Name Type Description
ids Array

可以是服务 ID 数组或者 URL 地址数组或者 webAPI 类型数组。

key string

key。

static registerServers(serverInfos)

common/security/SecurityManager.js, line 40

注册安全服务器相关信息。

Name Type Description
serverInfos ServerInfo

服务器信息。

static registerToken(url, token)

common/security/SecurityManager.js, line 56

服务请求都会自动带上这个 token。

Name Type Description
url string

服务器域名+端口:如http://localhost:8090。

token string

token。