国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

.NET中用Oracle 10g Single-Sign-On

2024-08-29 13:40:20
字體:
供稿:網(wǎng)友

  學(xué)習(xí)如何配置Oracle 10g Single Sign-On,使之同Microsoft .NET實現(xiàn)更好的集成。
  
  今天,各種各樣的操作系統(tǒng)和軟件開發(fā)平臺正使得企業(yè)范圍軟件系統(tǒng)的開發(fā)日益成熟。這也給不同軟件之間的集成應(yīng)用帶來了挑戰(zhàn),開發(fā)人員需要一些創(chuàng)造性的方式對來自不同生產(chǎn)商的產(chǎn)品進(jìn)行配置,從而使這些產(chǎn)品協(xié)同工作。本文即給出了一些與此相關(guān)的有用建議。
  
  Oracle 10g application Server(10gAS)產(chǎn)品家族提供了一系列范圍廣泛的開發(fā)組件,包括企業(yè)入口(enterPRise portals)、內(nèi)容治理,以及應(yīng)用安全。其中一個有用的Web應(yīng)用組件即Oracle Single Sign-On(SSO)認(rèn)證模塊,其功能類似于Computer Associates的Netegrity SiteMinder。
  
  Oracle SSO
  
  Oracle SSO可以使用如下模塊進(jìn)行部署:
  
  mod_osso Apache模塊
  
  SSO J2EE組件
  
  SSO database repository
  
  SSO PL/SQL模塊
  
  SSO使用了Oracle因特網(wǎng)目錄(Oracle Internet Directory即OID)。這是Oracle的一種基于LDAP兼容目錄服務(wù)器的數(shù)據(jù)庫。在上一篇文章中,我們討論了在Oracle 9iAS中將OID同Microsoft Active Directory相集成。進(jìn)一步,我們已經(jīng)對這一集成方式進(jìn)行了測試,并且確定其在10gAS中同樣可用。
  
  對于同時使用Oracle 10gAS和.NET的企業(yè),本文給出了一種簡單而有效的方法,從而實現(xiàn)了在運(yùn)行于Microsoft Internet Information Server(IIS)的.NET應(yīng)用程序中使用Oracle SSO。通常后者運(yùn)行在linux、Windows和Solaris等平臺上。
  
  集成方法
  
  圖A描述了這種集成方法。對.NET應(yīng)用程序的Web請求通過Oracle 10gAS發(fā)起,Apache被配置用來帶來發(fā)送到.NET應(yīng)用程序的請求,SSO設(shè)置為對應(yīng)用程序URL進(jìn)行保護(hù)。
  
  方法圖
  
.NET中用Oracle 10g Single-Sign-On
  圖A

  
  在這一步驟中,mod_osso將確保在mod_proxy模塊代理到.NET應(yīng)用程序連接之前已經(jīng)有有效用戶登錄。假如在訪問保護(hù)頁面時沒有用戶登錄,那么SSO將重定向瀏覽器至登錄頁面,對用戶進(jìn)行驗證,然后再重定向回最初訪問的頁面。這樣的過程將保證用戶再運(yùn)行.NET應(yīng)用程序之前已經(jīng)使用SSO進(jìn)行了登錄。這也意味著應(yīng)用程序使用者在這之前需要進(jìn)行OID設(shè)置,因為SSO將使用OID對用戶信任(user credentials)進(jìn)行驗證。
  
  代理設(shè)置
  
  第一步是在Oracle 10gAS設(shè)置Apache的mod_proxy,由此傳輸對IIS上的.NET應(yīng)用程序所發(fā)起的請求。可以使用Oracle 10gAS Enterprise Manager(EM)控制臺,或是直接對$ORACLE_HOME/Apache/Apache/conf/httpd.conf添加如下內(nèi)容來實現(xiàn):
  
  ProxyPass /dotnetapp/ http://iishost:port/dotnetapp/
  
  ProxyPass /dotnetapp http://iishost:port/dotnetapp/
  
  ProxyPassReverse /dotnetapp/ http://iishost:port/dotnetapp/
  
  ProxyPassReverse /dotnetapp http://iishost:port/dotnetapp/
  
  在以上例子及文章后面的例子中,請根據(jù)實際情況對dotnetapp、iishost:port和10gashost:port進(jìn)行替換。

  
  SSO設(shè)置
  
  設(shè)置工作的第二步就是配置Oracle SSO保護(hù)應(yīng)用程序URL。使用EM控制臺,或直接編輯$ORACLE_HOME/Apache/Apache/conf/mod_osso.conf,在此文件</IfModule>之前加上如下行:
  
  <Location /dotnetapp>    require valid-user    AuthType Basic  </Location>  <Location /dotnetapp*>    require valid-user    AuthType Basic  </Location>
  
  請注重,假如你直接編輯httpd.conf或mod_osso.conf而沒有使用EM控制臺,你必須使用如下命令使對DCM庫(DCM repository)的更改生效:
  
  $ORACLE_HOME/bin/emctl stop iasconsole
  
  $ORACLE_HOME/dcm/bin/dcmctl updateConfig -ct ohs -v -d
  
  $ORACLE_HOME/bin/emctl start iasconsole
  
  在配置后,重新啟動Apache,這很重要。當(dāng)然最方便的方法仍然是使用EM控制臺。或者使用下面的命令:
  
  $ORACLE_HOME/opmn/bin/opmnctl restartproc ias-component=HTTP_Server
  
  .NET應(yīng)用程序
  
  .NET應(yīng)用程序可以用如下URL通過10gAS訪問:
  
  http://10gashost:port/dotnetapp/
  
  在應(yīng)用程序中,使用HTTP Osso-User-Dn頭以確定當(dāng)前應(yīng)用程序用戶,例如:
  
  Dim UserDn = Request.Headers.Item("Osso-User-Dn")
  
  The User DN format used in SSO/OID should be:
  
  在SSO/OID中使用的User DN格式應(yīng)當(dāng)如下:
  
  cn=userid,cn=users,dc=yourdomain,dc=com
  
  假如應(yīng)用程序檢測到Osso-User-Dn頭沒有設(shè)置,瀏覽器將嘗試直接訪問應(yīng)用程序而不通過10gAS。在這樣的情況下,最為一種有用的實踐方法,我們建議應(yīng)用程序?qū)g覽器重定向到正確的URL,這對.NET應(yīng)用程序而言從而可以實現(xiàn)SSO認(rèn)證功能。
  
  假如要讓用戶直接從.NET應(yīng)用程序中從SSO退出登錄,可以使用如下鏈接:
  
  http://10gashost:port/osso_logout?p_done_url=http://10gashost:port/
  
  p_done_url指定了退出登錄后重定向的URL。
  
  用戶然后就可以使用如下URL訪問.NET應(yīng)用程序了:

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 商城县| 张北县| 通化市| 香河县| 江阴市| 林周县| 浦城县| 霸州市| 蒙山县| 日土县| 宝兴县| 荣昌县| 玉溪市| 武胜县| 龙口市| 闸北区| 河北区| 东明县| 清苑县| 寿光市| 泾源县| 洛南县| 隆化县| 福安市| 阿鲁科尔沁旗| 丰城市| 海门市| 中阳县| 平潭县| 九江市| 佳木斯市| 济阳县| 名山县| 红安县| 高碑店市| 南汇区| 常熟市| 珲春市| 偃师市| 紫云| 玛沁县|