SuperMap iServer 提供了(le/liǎo)一(yī / yì /yí)種基于(yú) Token(令牌)的(de)用戶身份驗證機制,使用戶在(zài)訪問受保護的(de)服務資源時(shí)僅需提供 Token,而(ér)不(bù)需要(yào / yāo)提供用戶名和(hé / huò)密碼。Token 是(shì)包含用戶名、有效期和(hé / huò)某些專有信息并通過共享密鑰加密的(de)信息字符串。用戶向 SuperMap iServer 申請 Token 時(shí)需要(yào / yāo)提供用戶名和(hé / huò)密碼,服務端驗證通過後會将相應的(de) Token 返回給用戶。
用戶訪問受保護的(de)服務時(shí),如通過 REST、Web Application 等方式,隻需要(yào / yāo)提供正确的(de) Token 就(jiù)可以(yǐ)訪問相關服務資源。對于(yú)通過 Web Application 訪問 GIS 服務的(de)用戶來(lái)說(shuō),這(zhè)種認證方式可以(yǐ)有效避免服務器的(de)用戶賬戶洩露。目前,SuperMap iServer 服務列表(http://localhost:8090/iserver/services)中的(de)所有服務類型均支持基于(yú) Token 的(de)認證,包括各個(gè) REST 服務模塊、OGC 服務等。
對于(yú)已經授權訪問服務的(de)用戶,獲取和(hé / huò)使用 Token 的(de)總體流程:
- 用戶憑借自身的(de)賬戶申請和(hé / huò)獲取 Token,詳見獲取 Token。
- 攜帶已獲取的(de) Token 訪問受保護的(de) iServer 服務和(hé / huò)相關資源,詳見訪問受保護的(de)服務資源。SuperMap iServer 提供的(de) GIS 服務(詳見GIS 服務資源層次結構)和(hé / huò)服務管理的(de)所有資源(詳見服務管理資源層次結構),均支持通過 Token 來(lái)訪問。
Token 的(de)生成除了(le/liǎo)需要(yào / yāo)獲取 Token時(shí)用戶輸入的(de)信息外,還需要(yào / yāo)服務器端指定的(de)加密密鑰。系統管理員可以(yǐ)對生成 Token 的(de)共享密鑰進行配置,詳細請參考配置 Token 共享密鑰。