最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

asp.net中幾種常用的身份驗證方法總結

 更新時間:2013年11月01日 10:03:46   投稿:jingxian  
本篇文章小編就為大家介紹一下在asp.net中幾種常用的身份驗證方法。需要的朋友可以過來參考下,希望對大家有所幫助

前言

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

如何實現(xiàn)“身份驗證”

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

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

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

大致分為如下幾種:

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

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

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

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

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

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

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

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

 注:.NET Passport 可以理解為微軟對“單點登錄”的一種實現(xiàn)方案,這里不細說。在“Open API”  "SOA"  “云計算”大行其道的今天,作為一個web程序員,如果你還沒聽說過“單點登錄”,請自行購買開往福州方向的動車票。

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

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

匿名身份驗證:

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

最后一種,F(xiàn)orm身份驗證:

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

相關文章

  • java 單例模式(餓漢模式與懶漢模式)

    java 單例模式(餓漢模式與懶漢模式)

    這篇文章主要介紹了java 單例模式(餓漢模式與懶漢模式)的相關資料,希望通過本文大家能掌握這部分內容,需要的朋友可以參考下
    2017-09-09
  • vs2008最近打開的項目清除方法

    vs2008最近打開的項目清除方法

    vs2008最近的打開的項目,這個功能是挺方便的,不過本人不想看到它,于是乎想要清楚掉他,搜集整理了一些實用操作步驟,感興趣的你可不要錯過了哈
    2013-02-02
  • 嵌套repeater示例分享

    嵌套repeater示例分享

    這篇文章主要介紹了嵌套repeater示例,代碼簡單,下面直接上代碼,需要的朋友可以參考下
    2014-03-03
  • ASP.NET頁面請求超時時間設置多種方法

    ASP.NET頁面請求超時時間設置多種方法

    這篇文章主要為大家詳細介紹了ASP.NET頁面請求超時時間設置Server.ScriptTimeOut executionTimeout多種方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • asp.net mvc core管道及攔截器的理解

    asp.net mvc core管道及攔截器的理解

    這篇文章主要給大家介紹了關于asp.net mvc core管道及攔截器的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用asp.net mvc core具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-05-05
  • Asp.net 頁面導航的幾種方法與比較 分享

    Asp.net 頁面導航的幾種方法與比較 分享

    在ASP.NET應用中,Web表單之間的導航有多種方式:用超級鏈接,用Response.Redirect,用Server.Transfer,或者用Server.Execute。本文將分析這四種導航方式的異同及其優(yōu)缺點,幫助你選擇最佳的導航方式。
    2013-07-07
  • ASP.NET無刷新分頁簡單實現(xiàn)

    ASP.NET無刷新分頁簡單實現(xiàn)

    無刷新分頁功能,雖然比較簡單,但是涉及到的知識面蠻多的,我記錄一下制作的步驟與心得,僅供參考。如有哪里不足,希望大家指出,有更好的方法,也可以提出來,大家一起學習。
    2015-09-09
  • ASP.NET 窗體間傳值的方法

    ASP.NET 窗體間傳值的方法

    這篇文章介紹了ASP.NET 窗體間傳值的方法,有需要的朋友可以參考一下,希望對你有所幫助
    2013-07-07
  • asp.net MVC實現(xiàn)無組件上傳圖片實例介紹

    asp.net MVC實現(xiàn)無組件上傳圖片實例介紹

    無組件實現(xiàn)上傳圖片使用input的file作為上傳選擇文件,具體實現(xiàn)如下:前后臺代碼很詳細,感興趣的朋友們可不要錯過了哈
    2013-05-05
  • 詳解在.net core中完美解決多租戶分庫分表的問題

    詳解在.net core中完美解決多租戶分庫分表的問題

    這篇文章主要介紹了詳解在.net core中完美解決多租戶分庫分表的問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04

最新評論

家居| 上蔡县| 莆田市| 肇东市| 诏安县| 汝南县| 宜春市| 铜鼓县| 淮安市| 资兴市| 那坡县| 固原市| 万全县| 东乌| 哈巴河县| 济宁市| 临沧市| 开江县| 衡东县| 太谷县| 永靖县| 高陵县| 溆浦县| 达拉特旗| 重庆市| 越西县| 巴塘县| 天台县| 金昌市| 武陟县| 沂南县| 集安市| 大邑县| 友谊县| 泾川县| 无为县| 长宁县| 那曲县| 吉林市| 北流市| 西贡区|