溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

在Weblogic環(huán)境下的servlet中實(shí)現(xiàn)應(yīng)用級(jí)身份認(rèn)證

發(fā)布時(shí)間:2020-08-11 14:38:59 來(lái)源:ITPUB博客 閱讀:151 作者:rainytag 欄目:編程語(yǔ)言
在weblogic中利用應(yīng)用服務(wù)器本身的配置,可以比較全面的實(shí)現(xiàn)用戶認(rèn)證。由于我們主要是面向開發(fā),這里主要講解在servlet中使用用戶角色規(guī)則(也就是我們常說(shuō)的http用戶認(rèn)證,下面還是使用這個(gè)我們熟悉的名詞吧)。
Weblogic用戶認(rèn)證的三種方式
在weblogic應(yīng)用服務(wù)器中,系統(tǒng)提供了三種不同的用戶認(rèn)證方式:


BASIC

基本的身份認(rèn)證方式,使用WEB瀏覽器彈出一個(gè)要求輸入用戶名和密碼的對(duì)話框。這個(gè)用戶名和密碼將在網(wǎng)站的某個(gè)(些)內(nèi)容模塊中被強(qiáng)制要求。

FORM

基于FORM的用戶認(rèn)證要求你返回一個(gè)包括用戶名和密碼的HTML表單,這個(gè)表單相對(duì)應(yīng)與用戶名和密碼的元素必須是j_username和j_password,并且表單的action描述必須為j_security_check。下面是一個(gè)表單的例子:




包括這個(gè)表單的資源可以是一個(gè)HTML頁(yè)面、一個(gè)JSP頁(yè)面或者一個(gè)servlet。你可以在元素中定義。當(dāng)這個(gè)認(rèn)證頁(yè)面被提交的時(shí)候,將創(chuàng)建一個(gè)HTTP session。所以,當(dāng)認(rèn)證成功后,使用session.isNew()方法將獲得一個(gè)FALSE的返回。

CLIENT-CERT

就是使用客戶數(shù)字證書來(lái)認(rèn)證請(qǐng)求,一般都和SSL相聯(lián)系。如果需要使用請(qǐng)參考有關(guān)SSL相關(guān)內(nèi)容。

使用何種認(rèn)證方法,可以在web.xml里的元素中的子元素里定義??赡艿倪x擇的值為BASIC或FORM或CLIENT-CERT三者之一。

在servlet中使用用戶認(rèn)證
要在servlet中使用用戶認(rèn)證,必須先對(duì)web application進(jìn)行相應(yīng)的配置。
1、修改weblogic.xml文件中的相關(guān)條目:

mgr
al
george
ralph

注:是角色名,例如現(xiàn)在這是管理員,然后元素中指定角色所包括的所有用戶名。

2、在web.xml的元素中定義要使用的角色名mgr(在元素中),并在注冊(cè)項(xiàng)中為mgr角色做一個(gè)鏈接(manager)

...
manager
mgr
...


mgr

到這里服務(wù)器上的配置文件就完成了所需要的修改。

3、在servlet中引用服務(wù)器的角色認(rèn)證,只需要在合適的地方加入下一語(yǔ)句即可。
isUserInRole("manager");
值得注意的是,當(dāng)用戶認(rèn)證順利返回后,一個(gè)session將被建立。而在weblogic中,缺省的情況下各個(gè)web appliction都使用相同的cookie名(JSESSIONID),所以當(dāng)任何一個(gè)認(rèn)證成功以后,所有的Web Application都將使用這個(gè)相同的cookie名來(lái)保存有關(guān)認(rèn)證的信息,從而實(shí)現(xiàn)“全站通”概念。假如你想對(duì)某個(gè)Web Application使用一個(gè)單獨(dú)的認(rèn)證,你可以為這個(gè)應(yīng)用單獨(dú)定義一個(gè)cookie名,這可以通過(guò)對(duì)weblogic.xml里的元素有關(guān)內(nèi)容進(jìn)行相應(yīng)修改。[@more@]
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI