最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

ArcGISServer安全性與Oracle數(shù)據(jù)庫(kù)相集成

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-09 07:17:57
文檔

ArcGISServer安全性與Oracle數(shù)據(jù)庫(kù)相集成

ArcGISServer安全性與Oracle數(shù)據(jù)庫(kù)相集成:前幾天在網(wǎng)上有人咨詢一個(gè)問(wèn)題:假設(shè)我有兩個(gè)圖層,一個(gè)線圖層,一個(gè)面圖層,保存成MXD,然后發(fā)布服務(wù),我想用戶不同的用戶來(lái)訪問(wèn)相關(guān)的圖層,實(shí)現(xiàn)在Server中權(quán)限的設(shè)置。其實(shí)這種情況也比較常見(jiàn),特別是在一個(gè)服務(wù)下,可能對(duì)不同的訪問(wèn)用戶設(shè)置相關(guān)的權(quán)限,
推薦度:
導(dǎo)讀ArcGISServer安全性與Oracle數(shù)據(jù)庫(kù)相集成:前幾天在網(wǎng)上有人咨詢一個(gè)問(wèn)題:假設(shè)我有兩個(gè)圖層,一個(gè)線圖層,一個(gè)面圖層,保存成MXD,然后發(fā)布服務(wù),我想用戶不同的用戶來(lái)訪問(wèn)相關(guān)的圖層,實(shí)現(xiàn)在Server中權(quán)限的設(shè)置。其實(shí)這種情況也比較常見(jiàn),特別是在一個(gè)服務(wù)下,可能對(duì)不同的訪問(wèn)用戶設(shè)置相關(guān)的權(quán)限,

前幾天在網(wǎng)上有人咨詢一個(gè)問(wèn)題:假設(shè)我有兩個(gè)圖層,一個(gè)線圖層,一個(gè)面圖層,保存成MXD,然后發(fā)布服務(wù),我想用戶不同的用戶來(lái)訪問(wèn)相關(guān)的圖層,實(shí)現(xiàn)在Server中權(quán)限的設(shè)置。其實(shí)這種情況也比較常見(jiàn),特別是在一個(gè)服務(wù)下,可能對(duì)不同的訪問(wèn)用戶設(shè)置相關(guān)的權(quán)限,

前幾天在網(wǎng)上有人咨詢一個(gè)問(wèn)題:假設(shè)我有兩個(gè)圖層,一個(gè)線圖層,一個(gè)面圖層,保存成MXD,然后發(fā)布服務(wù),我想用戶不同的用戶來(lái)訪問(wèn)相關(guān)的圖層,實(shí)現(xiàn)在Server中權(quán)限的設(shè)置。其實(shí)這種情況也比較常見(jiàn),特別是在一個(gè)服務(wù)下,可能對(duì)不同的訪問(wèn)用戶設(shè)置相關(guān)的權(quán)限,在實(shí)際應(yīng)用中也是很有適用性的。

當(dāng)然,ArcGIS Server 10版本可以支持上面說(shuō)的這種情況。


目前該功能只能支持Oracle數(shù)據(jù)庫(kù)

測(cè)試環(huán)境:ArcGIS Desktop10.1、ArcSDE10.1、ArcGIS Server10.1 、Oracle11.2.0.1

測(cè)試說(shuō)明:

默認(rèn)數(shù)據(jù)庫(kù)在sde用戶下存儲(chǔ)

SDE.XZQJX_G_410404:線狀要素類——web用戶名為:lineuser只能訪問(wèn)該圖層

SDE.DLTB_G_410404:面狀要素類——web用戶名為:polyuser只能訪問(wèn)該圖層


當(dāng)用戶請(qǐng)求使用某一 Oracle 數(shù)據(jù)庫(kù)中數(shù)據(jù)的 GIS 資源時(shí),ArcGIS Server 可將用戶的標(biāo)識(shí)向下傳遞到數(shù)據(jù)庫(kù),從而能夠強(qiáng)制進(jìn)行基于用戶標(biāo)識(shí)的訪問(wèn)控制。此功能目前不適用于其他數(shù)據(jù)庫(kù)系統(tǒng)。

使用數(shù)據(jù)庫(kù)級(jí)別的安全性時(shí),除了或代替 ArcGIS Server Web 服務(wù)的權(quán)限,可對(duì)用戶授予對(duì)數(shù)據(jù)庫(kù)中的表格(和/或列和行)的權(quán)限。按照下面的說(shuō)明進(jìn)行操作以配置 Oracle 數(shù)據(jù)庫(kù)的集成安全性。

  • 為地圖作者創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)帳戶。
  • 因?yàn)槲业臄?shù)據(jù)庫(kù)已經(jīng)有一個(gè)SDE用戶,我的數(shù)據(jù)也放在SDE用戶了,所以我就不用創(chuàng)建新用戶了,不過(guò)也可以創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)用戶,將測(cè)試數(shù)據(jù)導(dǎo)入到該用戶下也可以。

  • 為 ArcGIS Web 服務(wù)用戶創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)帳戶。
  • 我已經(jīng)擁有一個(gè)Server的超級(jí)用戶arcgis,兩個(gè)普通的web用戶,lineuser、polyuser,所以我需要在數(shù)據(jù)庫(kù)創(chuàng)建與Web用戶相同名稱相同密碼的兩個(gè)數(shù)據(jù)庫(kù)賬戶。

    --創(chuàng)建與Web同名同密碼的數(shù)據(jù)庫(kù)賬戶
    CREATE USER IDENTIFIED by DEFAULT TABLESPACE  TEMPORARY TABLESPACE ;
    --賦予該數(shù)據(jù)庫(kù)帳號(hào)權(quán)限
    GRANT CONNECT,RESOURCE to ;
    --將新建數(shù)據(jù)庫(kù)的用戶設(shè)為源數(shù)據(jù)庫(kù)用戶的代理用戶
    ALTER USER GRANT CONNECT THROUGH ;
    
    --如下將lineuser設(shè)置為sde用戶的代理用戶,也就是lineuser可以訪問(wèn)sde用戶下的數(shù)據(jù)
    
    ALTER USER LINEUSER GRANT CONNECT THROUGH SDE;
    創(chuàng)建完用戶,然后創(chuàng)建數(shù)據(jù)庫(kù)角色,然后設(shè)置針對(duì)每個(gè)用戶對(duì)應(yīng)的角色,在設(shè)置角色的語(yǔ)句我們可以設(shè)置用戶具體對(duì)那些圖層具體有相關(guān)的權(quán)限
    --創(chuàng)建一個(gè)linerole對(duì)象
    CREATE ROLE linerole NOT IDENTIFIED;
    --該linerole角色就是可以“讀取”SDE用戶下的要素類名稱為:XZQJX_G_410404
    GRANT SELECT ON SDE.XZQJX_G_410404 TO linerole;
    --將該角色賦予lineuser用戶
    GRANT linerole to lineuser;
    
    CREATE ROLE polyrole NOT IDENTIFIED;
    --該polyrole角色就是可以“讀寫(xiě)”SDE用戶下的要素類名稱為:DLTB_G_410404
    GRANT SELECT,UPDATE,INSERT,DELETE ON SDE.DLTB_G_410404 TO polyrole;
    GRANT polyrole to polyuser;
    另外,也可以對(duì)要素類的行和列設(shè)置權(quán)限。

    說(shuō)明:幫助上說(shuō)可以對(duì)行和列設(shè)置權(quán)限:相關(guān)參考:http://blog.csdn.net/linghe301/article/details/8751879



    如果我非要對(duì)要素類的行和列設(shè)置權(quán)限怎么實(shí)現(xiàn)?

    很簡(jiǎn)單,建立相關(guān)的視圖即可。變相的將對(duì)行和列的權(quán)限設(shè)置為不同的視圖來(lái)存儲(chǔ),這就轉(zhuǎn)變成上面增加相關(guān)的視圖圖層了。

    參考:sdetable -o create_view

  • 制作一個(gè)文檔并將其發(fā)布到 ArcGIS Server。
  • 將兩個(gè)圖層保存為一個(gè)MXD,然后發(fā)布服務(wù)即可。


  • 啟用數(shù)據(jù)庫(kù)集成安全性。
  • 打開(kāi)ArcGIS Manger,設(shè)置用戶、角色、權(quán)限等。將Web用戶與角色關(guān)聯(lián)一下


    在測(cè)試服務(wù)對(duì)象中設(shè)置安全,在服務(wù)右邊有個(gè)小鎖,點(diǎn)擊編輯權(quán)限



  • 打開(kāi) ArcGIS Server 管理員目錄 (http://myserver:6080/arcgis/admin) 并以主站點(diǎn)管理員身份或具有管理訪問(wèn)權(quán)限的用戶身份登錄。
  • 單擊系統(tǒng) > 屬性 > 更新。
  • 在屬性文本框中,輸入下面的 JSON 代碼:
  • {"pushIdentityToDatabase" : "true" }
  • 單擊更新保存更改。


  • 測(cè)試集成安全性。
  • 在測(cè)試階段我費(fèi)了很大周折,可能是對(duì)ArcGIS Server用的不是很多,也學(xué)到了很多東西。

    1:直接在ArcGIS Desktop創(chuàng)建不同用戶的(Use GIS Services)

    問(wèn)題:我直接將某個(gè)用戶下面的服務(wù)拖拽在ArcMap上看,會(huì)長(zhǎng)時(shí)間未響應(yīng),然后報(bào)如下錯(cuò)誤


    這個(gè)不知道跟我的環(huán)境是否有關(guān)。


    2:我在ArcGIS manger里面測(cè)試,也是利用不同的用戶登錄。

    問(wèn)題:如果我清空Chome緩存信息,以不同用戶登錄可以查看不同的圖層,但是如果我再次登錄,就會(huì)直接訪問(wèn)緩存中保存的登錄和數(shù)據(jù)信息,每次清空緩存才能驗(yàn)證。


    3:利用REST登錄(推薦)

    http://服務(wù)器IP:6080/arcgis/rest/services/服務(wù)名稱/MapServer

    直接在REST預(yù)覽即可



    那么還有一個(gè)問(wèn)題,我是否可以使用ArcGIS Server的超級(jí)用戶(arcgis)來(lái)查看這個(gè)服務(wù)(看兩個(gè)圖層)?

    如果有這個(gè)需求,那么就需要用戶在再數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)arcgis名字的數(shù)據(jù)庫(kù)用戶,然后設(shè)置相關(guān)角色才可以。


    什么時(shí)候可以用?

    比如以北京市地圖為例,可以發(fā)布了針對(duì)整個(gè)北京市的地圖服務(wù),但是上級(jí)領(lǐng)導(dǎo)希望海淀區(qū)的用戶只能瀏覽海淀的數(shù)據(jù),朝陽(yáng)的用戶只能瀏覽朝陽(yáng)的數(shù)據(jù)

    1:創(chuàng)建針對(duì)海淀區(qū)和朝陽(yáng)區(qū)的服務(wù),這樣就增加了服務(wù)數(shù),但是也對(duì)服務(wù)器資源消耗更加多了

    2:利用上面的方式,可以創(chuàng)建海淀或者朝陽(yáng)的數(shù)據(jù)視圖,然后還保存在一個(gè)服務(wù)里面,然后根據(jù)權(quán)限來(lái)訪問(wèn)不同的圖層。


    -------------------------------------------------------------------------------------------------------

    -------------------------------------------------------------------------------------------------------

    聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    ArcGISServer安全性與Oracle數(shù)據(jù)庫(kù)相集成

    ArcGISServer安全性與Oracle數(shù)據(jù)庫(kù)相集成:前幾天在網(wǎng)上有人咨詢一個(gè)問(wèn)題:假設(shè)我有兩個(gè)圖層,一個(gè)線圖層,一個(gè)面圖層,保存成MXD,然后發(fā)布服務(wù),我想用戶不同的用戶來(lái)訪問(wèn)相關(guān)的圖層,實(shí)現(xiàn)在Server中權(quán)限的設(shè)置。其實(shí)這種情況也比較常見(jiàn),特別是在一個(gè)服務(wù)下,可能對(duì)不同的訪問(wèn)用戶設(shè)置相關(guān)的權(quán)限,
    推薦度:
    • 熱門(mén)焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門(mén)推薦

    專題
    Top