国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 那坡县| 旬邑县| 扬州市| 光泽县| 绥阳县| 资讯 | 建湖县| 江阴市| 连山| 汽车| 阿克| 黄石市| 海淀区| 普洱| 白朗县| 洛南县| 康定县| 沿河| 黑龙江省| 花莲县| 隆昌县| 古丈县| 禹州市| 临汾市| 新闻| 浦城县| 武隆县| 北京市| 大名县| 巢湖市| 肃宁县| 项城市| 新郑市| 五常市| 玛纳斯县| 乌恰县| 通山县| 海原县| 永嘉县| 宜阳县| 剑河县|