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

首頁 > 學院 > 開發設計 > 正文

NET移植案例學習:建造Web站點(2)

2019-11-18 20:33:47
字體:
來源:轉載
供稿:網友
  移植方法的選擇

  將站點移植到Visual Basic .NET和.NET框架的第一步是看看有哪些方法可供選擇。現在有三種方法可以使用:

  · 將站點和Visual Basic 6.0的組件移植到asp .NET和Visual Basic .NET

  · 將站點移植到ASP .NET,再用COM+ interOperability與現存的Visual Basic 6.0組件通訊

  · 不改變現存的站點,而通過增加用ASP .NET和Visual Basic .NET寫的新的功能模塊來擴展站點的功能

  在開始開發之前,開發小組確定了利用.NET的哪些功能模塊來替代網站中復雜的,且有時會有問題的代碼,并增加一些新的功能。具體的講,他們希望按下面的要求重建網站:

  · 用ASP .NET認證來替代原來的用戶安全機制

  · 用ASP .NET Web Form確認控件來替代客戶端用于報告產品漏洞和描述缺點的確認邏輯

  · 用ASP .NET Web Services將Microsoft其它的網站溶入beta版產品漏洞報告體系中

  · 利用.NET框架的本地化功能建造一個可以很容易實現本地化的Web站點

  · 利用ASP .NET向用戶提供個性化的菜單和橫幅圖片

  為了充分利用這些特點,開發組決定將ASP頁面移植成ASP .NET頁面。他們將不移植現存的Visual Basic 6.0的ActiveX組件,而是創建新的Visual Basic .NET組件來實現Web Service和本地化。

  現在讓我們看看為了完成移植,對這個網站到底做了哪些修改。

  結合ASP .NET認證功能

  移植的第一步就是用ASP .NET中基于cookie的認證機制來替換原來的客戶安全機制。這種安全認證機制首先出現在PDC技術預覽中,并在Visual Studio .NET Beta 1中得到了發展。它的目標是確定誰在訪問網站,而不是阻止用戶訪問。因此,開發組修改了成員資格系統,幫助用戶注冊到Web站點,并且在以后的Beta版產品中可以繼續使用。

  識別每個訪問者的目的是跟蹤他們報告的漏洞和缺點,并與他們進行必要的交流,以徹底解決問題。除了把用戶的反饋送到特定的測試站點,用戶還可以定制這個站點,以滿足自己的需要,幫助客戶將注意力集中在他們需要的信息上。把用戶和他們感興趣的內容聯系起來能幫助站點管理員了解用戶對什么問題最感興趣。大多數測試站點包括了Visual Studio .NET和.NET框架各個方面的內容,允許用戶訪問站點上所有的文檔,但某些用于特定方面(比如Visual Studio .NET IDE shell整和)的測試站點利用過濾器向客戶只提供他們感興趣的文檔。

  原先使用的認證方式使用一個ASP服務器端文件和一個Visual Basic組件所提供的方法,驗證來訪者所提供的用戶ID和密碼是否是數據庫的成員。這個文件提供了可重用代碼來完成安全檢查,但這就意味著這個文件需要被包含在每一頁的開頭,才能保證這一頁不會被未經過認證的用戶打開。在每一頁包含這個文件給管理員配置不需要安全保護的頁帶來了麻煩。

  在ASP .NET中實現認證是很容易的,因為基于cookie的認證通過將站點的文檔存放在某一個特定的文件夾實現了對文檔的保護。當用戶企圖訪問這個受保護的文檔時,.NET框架將自動判斷用戶是否經過了認證。如果用戶未被認證,.NET框架會把這個未經認證的請求重定向到某一個特定的HTML表單,讓用戶輸入認證信息,并提交這個表單。如果用戶得到了認證,.NET框架會產生一個可以辨別用戶的cookie,并重定向到原先的請求頁面。.NET框架還提供了一些類來幫助我們與認證過程交互和訪問保存在cookie中的認證信息。

  我們可以用Web站點的config.web文件來配置ASP .NET的認證體系。這個配置文件包含了一個用于指定認證方式的塊、該塊指明了HTML登陸表單的URL和密碼的格式。圖3是一個設置基于cookie的認證的config.web文件。

  Web站點上原來的那種安全認證方式為每一個訪問者唯一確立了一個對話ID。因為已經生成了這個ID,所以我們在移植認證過程不要改動現存的代碼。ASP .NET認證機制將把未經認證的用戶重定向到登陸頁,讓用戶提交信用證。一旦提交了登陸頁,用戶ID和密碼將被確認,還將產生一個會話ID。

  實現ASP .NET認證體系只要修改原來的登陸頁面的兩個地方。我們沒有向客戶的cookie寫入會話的關鍵字,而是使用了ASP .NET認證cookie,將它的值設為會話的關鍵字。然后通過CookieAuthentication 類的RedirectFromLoginPage方法將用戶重新引導到原先的請求頁。在接下來的請求中,將通過.NET框架的HttpContext.User類來訪問會話ID。圖4顯示的是修改后的登錄認證檢查。

  除了提供了一種更安全、更容易實現的安全認證體制外,ASP .NET認證體制還可以區別對待認證過的和未經認證的內容。因為保護的范圍是由config.web文件中的目錄結構決定的,所以只要把內容移出受保護的文件夾就可以取消對內容的保護了。

  為了讓認證機制能發揮作用,所有需要認證才可以訪問的文件的擴展名應改為.aspx(asp.net文件的擴展名)。正如你將在下面看到的,這是一個相對簡單的過程。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜君县| 周至县| 丰顺县| 建瓯市| 镇原县| 汨罗市| 侯马市| 邢台市| 建平县| 白水县| 舞阳县| 介休市| 兴和县| 宁阳县| 康马县| 娄烦县| 阿勒泰市| 三都| 秦皇岛市| 济宁市| 枝江市| 原阳县| 遂川县| 磐石市| 古交市| 滦平县| 渑池县| 波密县| 新营市| 台北市| 桂林市| 东阳市| 青河县| 宜州市| 德惠市| 延长县| 弥渡县| 红安县| 沙坪坝区| 辽源市| 中宁县|