成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET七大身份驗證方式及解決方案

開發 后端
在B/S系統開發中,經常需要使用“身份驗證”。因為web應用程序非常特殊,和傳統的C/S程序不同,默認情況下(不采用任何身份驗證方式和權限控制手段),當你的程序在互聯網/局域網上公開后,任何人都能夠訪問你的web應用程序的資源,這樣很難保障應用程序安全性。

在B/S系統開發中,經常需要使用“身份驗證”。因為web應用程序非常特殊,和傳統的C/S程序不同,默認情況下(不采用任何身份驗證方式和權限控制手段),當你的程序在互聯網/局域網上公開后,任何人都能夠訪問你的web應用程序的資源,這樣很難保障應用程序安全性。通俗點來說:對于大多數的內部系統、業務支撐平臺等而言,用戶必須登錄,否則無法訪問和操作任何頁面。而對于互聯網(網站)而言,又有些差異,因為通常網站的大部分頁面和信息都是對外公開的,只有涉及到注冊用戶個人信息的操作,或者網站的后臺管理等才需要提示登錄。(如果不做嚴格驗證,后果將很嚴重,人家一旦猜出你web目錄下面的頁面名,可以隨意訪問。當然,一般的開發人員是不會犯這種低智商的錯誤的)。

如何實現“身份驗證”

記得N年前我最早接觸Servlet + JSP開發的時候,有一種叫做“過濾器”(Filter)的東西,真是很神奇。有了這件神奇的東西后,我再也不需要去每個頁面判斷什么“session”或者“cookie”了,就能把未登錄用戶給彈出去(水平實現有限)。當然,在傳統webform開發中,也可以寫一個“BasePage的雞肋”,在該類中去做判斷,讓每個頁面對應的類都去實現這個"雞肋",我看以前很多公司都是這么干的。

在asp.net中,其實微軟提供了一整套的完整的機制來實現“成員角色管理”。包含有:”登錄控件”、“membership”、“個性化數據庫”等等。但是大多數開發人員是從來不用這些的(例如我,用微軟的asp.net三四年,還從來沒見過“登錄控件”長啥樣)。在asp.net身份驗證中,主要有三四種。因為有些身份驗證的方式是依賴于IIS和windows操作系統的,所以在不同版本的操作系統和IIS上還是有些差異的。由于筆者暫時使用的是windows 7的操作系統,所以就拿IIS 7.5為例子。

首先打開IIS,然后雙擊右側“身份驗證”,會顯示出當前IIS支持的所有的身份驗證方式(由于我安裝IIS時候,在“安全性”那里我是全部勾選的)。可以看到如圖:

大致分為如下幾種:

1.活動目錄的客戶端證書(這個很可能是收費的),不常用,不細說。

2.ASP.NET模擬(MSDN:如果要在 ASP.NET 應用程序的非默認安全上下文中運行 ASP.NET 應用程序,請使用 ASP.NET 模擬。),機器人說的我聽不懂。

3.Form身份驗證:這個用的很多,后面會細說。

4.windows身份驗證:基于windows操作系統的用戶或者域用戶的身份驗證。

5.基本身份驗證:其實也是基于windows操作系統的賬戶驗證的。

6.匿名身份驗證:誰都可以訪問,其內部也是通過指定一個特定的windows系統的user賬戶來訪問的。

7.摘要身份驗證:使用 Windows 域控制器對請求訪問 Web 服務器內容的用戶進行身份驗證。

再來看看經典的 IIS 6的截圖:

注:.NET Passport 可以理解為微軟對“單點登錄”的一種實現方案,這里不細說。感興趣的朋友可以參考http://baike.baidu.com/view/1182418.htm及相關資料。在“Open API”  "SOA"  “云計算”大行其道的今天,作為一個web程序員,如果你還沒聽說過“單點登錄”,請自行購買開往福州方向的動車票。

先在IIS 7上測試一下基本身份驗證:

首先把其他的身份驗證方式全部禁用掉,然后僅僅啟用“基本身份驗證”。有圖有真相:

然后打開IE、FireFox、chrome等瀏覽器,敲入localhost,等待打開IIS上的默認網站。你會發現,瀏覽器端都會彈出提示框信息,而且在不同瀏覽器上彈出框的樣式和表現形式也有所差異。(長期不用IE,發現360這個老流氓把哥的首頁給改了,還號稱”安全上網“,這明顯是篡改行為嘛。搞不懂。)

FireFox中:

如果你在彈出框中,輸入正確的windows賬戶和密碼,則可以正常的瀏覽你請求的網頁。如果你不輸或者輸錯了,等待你的將是401錯誤(401,你懂得)。

”沒有為網站啟用SSL,將通過電纜以明文的方式.....”,機器人說的話聽起來很別扭,這里,我解釋一下。

當你沒有花錢去買SSL證書(安全套接層,你可以簡單的理解為:正常http請求都是明文傳送,使用SSL后可以幫你把http報文自動加密,就算有人在互聯網上截獲了也無法解密。我們偶爾訪問有些網站的時候,看到的“https://www.xxx.com”,就極可能是基于SSL證書的形式)。至于“通過電纜以明文的方式...”,其實這句話說的很不對,首先,電纜只是一種傳輸介質,里面傳送的只是電脈沖、光信號等等,而不是網絡協議報文(學過計算機網絡的都知道)。至于說“采用明文的形式”,也不對,其實“基本身份驗證”中,是將用戶名和密碼采用了Base64編碼的,感興趣的讀者,可以用httpwatch或者Fiddler之類的工具去監視一下http請求,我這里就不做演示了 。只是由于Base 64編碼很容易反編碼,所以和明文沒啥區別。這樣一來,你會發現“基本身份驗證”方式,確實存在很多不安全因素。

在IIS 7上測試一下 windows 身份驗證:

和之前的基本身份驗證差不多,我就不再截圖演示了。如果用戶輸入正確的windows用戶名和密碼,則能夠正常訪問網站。如果輸入錯誤的,則返回的401.1(前面基本身份驗證是401.2)。值得一提的就是,記得之前有位asp.net MVP 曾告訴過我,使用windows身份驗證的時候,只能用戶在使用IE瀏覽器時候才能夠正常訪問。因為這種情況下,不是使用http報文傳輸的形式,而是瀏覽器端直接與操作系統內部交互,進行用戶名和密碼的驗證。經過證實,發現這話的后半句是對的,確實監視不到http實體內容。但不僅僅局限于IE瀏覽器,我在firefox中也能夠正常的訪問和使用。

匿名身份驗證:

所謂匿名身份驗證,其實就可以理解為“不驗證”。就是匿名用戶都可以訪問資源,沒有任何限制。通常我們的網站,都要啟用匿名方式驗證,集成windows身份驗證。不難發現,其實匿名身份驗證,也是通過windows用戶組里面的一個特定的用戶來通過驗證的,如圖所示:

***一種,Form身份驗證:

前面所講的那些身份驗證方式,其實都和asp.net沒有直接的聯系,都是IIS 和操作系統級別的驗證方式。而Form 身份驗證,則需要asp.net提供支持。因為通常網站的身份驗證和成員管理都非常復雜,而不是通過單純的某一種驗證方式能夠實現的。對于大部分互聯網的網站而言,用戶可以訪問部分頁面,但部分頁面必須登錄后才能訪問和操作,而且不同用戶角色登錄,操作權限也不一樣。這又會涉及到很多方面的知識,而且實現方式也有很多種。

由于篇幅和時間有限,今天就先到此。后期我再詳細地去整理關于Form身份驗證的詳細及成員管理,權限管理方面的文章,敬請期待。

本文出自  http://www.cnblogs.com/dinglang/ 

責任編輯:張偉 來源: 博客園
相關推薦

2011-05-23 10:37:03

2009-07-29 12:55:44

ASP.NET身份驗證

2012-06-04 09:36:50

2021-02-17 08:51:55

cookie身份驗證

2009-07-29 16:47:40

ASP.NET表單身份

2024-05-06 00:00:00

ASP.NET授權機制

2021-08-31 11:59:41

API安全事件身份驗證

2009-07-22 17:37:06

ASP.NET Ses

2022-08-11 08:35:40

Hanko開源

2010-09-02 15:18:42

CSSASP.NET

2015-09-01 13:48:26

七牛數據時代峰會

2020-01-05 22:39:01

身份驗證協議網絡安全

2022-07-29 10:26:02

物聯網智慧城市

2009-07-24 11:24:33

ASP.NET中文亂碼

2013-04-02 10:03:02

2011-05-20 11:23:00

2012-01-11 10:55:02

ASP.NET MVC

2009-07-22 11:00:30

ASP.NET MVC

2012-06-04 13:34:54

航空IBM解決方案

2009-07-29 09:59:10

ASP.NET For
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: h视频在线观看免费 | 精品乱码久久久久 | 亚洲精品一二三区 | 国产精品美女久久久久久久久久久 | 国产精品永久 | 色片在线观看 | 91精品国产综合久久久久久漫画 | 久久久毛片 | 99热都是精品| 亚洲精品自拍视频 | 亚洲精品在线免费观看视频 | 日日噜噜夜夜爽爽狠狠 | 亚洲成人综合网站 | 中文字幕视频一区 | 一区二区三区视频在线观看 | 久草在线 | 成人免费视频一区二区 | 久久久99国产精品免费 | 国产成人一区二区三区久久久 | 在线观看亚洲专区 | 91成人在线视频 | 毛片av免费在线观看 | 午夜一级大片 | 成人精品国产一区二区4080 | 91伦理片| 国产精品久久久久久高潮 | 美女视频黄的 | 亚洲欧美日韩在线 | 欧美精品在线播放 | 国产精品久久久久久久久久三级 | 日韩精品免费一区二区在线观看 | 国产精品久久久久久模特 | 国内av在线 | 91在线免费视频 | 亚洲一区二区三区免费在线 | www.youjizz.com日韩 | 国产资源在线观看 | 黄色大全免费看 | 黄色毛片在线看 | 国产成人一区在线 | 97视频网站 |