對Oracle數(shù)據(jù)庫的外部身份認(rèn)證的2種方案
我們大家都知道Oracle數(shù)據(jù)庫的外部身份認(rèn)證的研究方案除了在服務(wù)器上對其使用相關(guān)的操作系統(tǒng)驗(yàn)證,還有以下的兩種,即,遠(yuǎn)程客戶端的使用操作系統(tǒng)驗(yàn)證 與Oracle 9i對操作系統(tǒng)身份認(rèn)證支持的增強(qiáng) 。
遠(yuǎn)程客戶端使用操作系統(tǒng)驗(yàn)證
首先需要在init.ora文件中設(shè)置如下參數(shù):REMOTE_OS_AUTHENT=TRUE。Oracle不推薦在遠(yuǎn)程客戶端上使用操作系統(tǒng)驗(yàn)證,因?yàn)榭蛻舳蓑?yàn)證時(shí)不是通過服務(wù)器上的操作系統(tǒng)用戶來驗(yàn)證,而是使用客戶端自己怕操作系統(tǒng)來進(jìn)行windows驗(yàn)證,這樣,客戶端可以采用建立對應(yīng)的windows機(jī)器名和用戶名的方式來欺騙Oracle的操作系統(tǒng)驗(yàn)證。
例如:創(chuàng)建了如下Oracle用戶
- create "zlzyk" identified externally;
- grant connect to "zlzyk";
如果有一臺(tái)名為ZL的機(jī)器,創(chuàng)建了一個(gè)名為zyk的用戶,并以此登錄連接Oracle服務(wù)器(連接時(shí)使用@OracleSTR),無需用戶名和密碼造成此問題的原因是,Oracle使用客戶端操作系統(tǒng)進(jìn)行驗(yàn)證,它無法區(qū)別zl是域名還是機(jī)器名。
Oracle數(shù)據(jù)庫服務(wù)器上的windows身份認(rèn)證很容易實(shí)施,并且使已登錄的用戶訪問數(shù)據(jù)庫數(shù)據(jù)庫很方便但是,這種驗(yàn)證模型并不適合遠(yuǎn)程客戶端,因?yàn)榘踩[患太大。
Oracle 9i對操作系統(tǒng)身份認(rèn)證支持的增強(qiáng)
Oracle 9i可以與活動(dòng)目錄集成,通過Oracle Enterprise Security Manager 管理用戶權(quán)限Enterprise user authentication做為一種新的外部集中認(rèn)證模式(也叫 global user authentication,Oracle 9i以前的External user authentication僅僅采用了客戶端操作系統(tǒng)本地認(rèn)證)。
Oracle9i運(yùn)行在一個(gè)win2000及以上的域中,注冊表HKEY_LOCAL_MACHINESOFTWAREORACLEHOMEID,參數(shù)OSAUTH_X509_NAME設(shè)置為true(默認(rèn)為false,如果該參數(shù)不存在,則新增為REG_EXPAND_SZ類型)。注意:Windows NT 4.0 domain 不支持這種方式。
文章出自:http://database.csdn.net/c_oracle/tag/2
【編輯推薦】
- Oracle 8i中字符集亂碼問題詳細(xì)解析
- 存儲(chǔ)結(jié)構(gòu)之Oracle邏輯存儲(chǔ)結(jié)構(gòu)
- Oracle游標(biāo)的刪除與更新實(shí)際操作步驟
- Oracle游標(biāo)提取相關(guān)的數(shù)據(jù)的語法介紹
- Oracle游標(biāo)的打開與關(guān)閉