• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Welcome to 陳俊峰's ---BeetleHeaded Man Blog !

              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              58 隨筆 :: 32 文章 :: 18 評論 :: 0 Trackbacks
            SQL Server、Internet 信息服務(wù)器和 ASP.NET 引擎都提供了堅實可靠的安全模型,它們可以很好地在一起協(xié)同工作。為了保證用戶數(shù)據(jù)和應(yīng)用程序的安全,Microsoft 還為每項服務(wù)的默認(rèn)設(shè)置設(shè)置了相當(dāng)?shù)偷闹怠4蠖鄶?shù)開發(fā)人員面臨的挑戰(zhàn)是如何使用 SQL Server、IIS 和 ASP.NET 在應(yīng)用程序和數(shù)據(jù)之間設(shè)置適當(dāng)?shù)男湃渭墑e,而不會留下可被別人輕易攻入的安全漏洞。由于涉及三類服務(wù)(SQL Server、IIS 和 ASP.NET),所以需要采取三個關(guān)鍵的步驟來確保解決方案的安全。本部分討論一種為 Web 應(yīng)用程序設(shè)置足夠權(quán)限和信任級別的更常用(且可靠)的方法。

            定義 DotNetKB 自定義 IIS 用戶帳戶

            保證 Web 應(yīng)用程序安全性的最安全的方法是定義一個權(quán)限有限的自定義用戶,然后對 IIS 進(jìn)行配置,使之能夠在執(zhí)行您的 Web 應(yīng)用程序時能作為自定義用戶運行。這是相當(dāng)容易實現(xiàn)的,可以確保訪問您的 Web 應(yīng)用程序的每個訪問者都只具有您希望他們具有的權(quán)限。

            第一步是生成一個新的 Windows 用戶(本例中稱為 DotNetKB),為其設(shè)置一個增強(qiáng)型密碼,然后將其添加到 Windows 來賓組 (Guest Windows Group) 中。同時,確保選中 Password never expires(密碼永不過期)和 User cannot change password(用戶不能更改密碼)復(fù)選框。這樣將生成一個權(quán)限有限的用戶,在 IIS 中運行您的 Web 應(yīng)用程序時,您可以將其用作標(biāo)識(參見圖 7)。



            圖 7:生成的權(quán)限有限的用戶


            然后,調(diào)用 Internet 信息服務(wù)器管理員并選擇承載這些網(wǎng)頁的 Web 應(yīng)用程序。在本例中,您可以選擇承載前文所生成的測試頁的 Web 應(yīng)用程序 (DotNetKB_WebSite)。在樹視圖中的 Web 應(yīng)用程序上單擊鼠標(biāo)右鍵,然后從上下文相關(guān)菜單中選擇 Properties...(屬性...)。然后選擇 Directory Security(目錄安全性)并單擊該對話框 Anonymous access and authentication control(匿名訪問和驗證控制)部分中的 Edit(編輯)按鈕。最后,輸入自定義用戶名 (DotNetKB),取消選擇 Allow IIS to control password(允許 IIS 控制密碼)復(fù)選框,并輸入該自定義用戶帳戶的密碼。完成所有這些工作之后,單擊 OK(確定)按鈕,將這些更改保存到 IIS 配置數(shù)據(jù)庫中(參見圖 8)。



            圖 8:Authentication Methods(驗證方法)對話框


            此時,IIS 將在一個權(quán)限有限的自定義帳戶下運行。任何訪問者訪問您應(yīng)用程序的網(wǎng)頁時,都將以這個自定義用戶身份運行,且只具有該自定義用戶的驗證權(quán)限。

            授權(quán) DotNetKB 用戶帳戶訪問 SQL Server

            然后,您需要為該自定義用戶授予訪問數(shù)據(jù)庫 (DotNetKB) 的相應(yīng)權(quán)限。為此,您可以使用 Microsoft SQL Server 企業(yè)管理器或編寫一個自定義腳本,以創(chuàng)建一個這樣的用戶并授予其訪問特定對象的權(quán)限。本文介紹如何使用 SQL Server 企業(yè)管理器完成此操作。

            注意:盡管 Visual Studio .NET 2003 具有與 SQL Server 兼容的許多強(qiáng)大的集成功能,但也不允許從 Visual Studio .NET 2003 中輕松管理用戶和用戶權(quán)限。在大型的組織和團(tuán)隊中,這些高級任務(wù)通常由數(shù)據(jù)庫管理員完成。

            因此,啟動 SQL Server 企業(yè)管理器之后,您可以按照以下步驟將自定義用戶 (DotNetKB) 添加數(shù)據(jù)庫中(參見圖 9):

            ·在左側(cè)的樹視圖中,展開節(jié)點以顯示 DotNetKB 數(shù)據(jù)庫。在我的計算機(jī)上,樹視圖的結(jié)構(gòu)如下:Console Root | SQL Server Group | (LOCAL) (Windows NT) | Databases | DotNetKB。
            ·然后,在數(shù)據(jù)庫下的 Users(用戶)節(jié)點上單擊鼠標(biāo)右鍵,并選擇 New Database User...(新建數(shù)據(jù)庫用戶...)。顯示 Database User Properties - New User(數(shù)據(jù)庫用戶屬性 - 新建用戶)對話框時,從 Login name(登錄名)下拉框中選擇 (<新建>)。
            ·顯示 SQL Server Login Properties - New Login(SQL Server 登錄屬性 - 新建登錄)對話框時,選擇 General(常規(guī))選項卡,并在 Name(名稱)輸入框中輸入 DotNetKB。確保選中 Windows Authentication(Windows 驗證)單選按鈕,并從 Domain(域)下拉框中選擇自定義用戶帳戶所在的計算機(jī)的名稱。然后從 Database(數(shù)據(jù)庫)下拉框中選擇 DotNetKB。
            ·現(xiàn)在,選擇 Databases(數(shù)據(jù)庫)選項卡,在對話框頂部的列表中找到 DotNetKB 數(shù)據(jù)庫并選中它。然后,確保選中對話框底部列表中的 public(公共)角色。最后,單擊對話框底部的 OK(確定)按鈕,保存您的更改。



            圖 9:在數(shù)據(jù)庫中添加自定義用戶


            然后,您需要為 DotNetKB 數(shù)據(jù)庫中的所有存儲過程和自定義函數(shù)添加執(zhí)行權(quán)限。為此,您只需為 public(公共)角色授予權(quán)限。您可以將權(quán)限授予 DotNetKB 用戶,這樣將使以后的登錄(當(dāng)這些用戶獲得訪問 DotNetKB 的權(quán)限時)更容易執(zhí)行存儲過程,而不需要為每個用戶添加新的權(quán)限。

            下面是為 DotNetKB 數(shù)據(jù)庫中的存儲過程和函數(shù)授予執(zhí)行權(quán)限的步驟:

            ·突出顯示樹視圖中 DotNetKB 數(shù)據(jù)庫下的 Users(用戶)節(jié)點,以顯示此數(shù)據(jù)庫的用戶列表。找到 DotNetKB 用戶并在其上雙擊,打開 Database Users Properties(數(shù)據(jù)庫用戶屬性)對話框。
            ·突出顯示(選中)public(公共)角色時,單擊 Properties...(屬性...)按鈕,打開 Database Role Properties(數(shù)據(jù)庫角色屬性)對話框。然后單擊 Permissions...(權(quán)限...)按鈕,顯示數(shù)據(jù)庫對象和權(quán)限設(shè)置列表。
            ·選中對話框頂部 Database role(數(shù)據(jù)庫角色)下拉列表中的 public(公共)角色之后,找到為此數(shù)據(jù)庫定義的所有存儲過程和自定義函數(shù)(可能需要展開對話框才能看到全名),并確保選中各項旁邊的 EXECUTE(執(zhí)行)復(fù)選框。您可能會發(fā)現(xiàn)某些系統(tǒng)對象的其他一些復(fù)選框也被選中了,請不要更改這些選項。
            ·最后,設(shè)置所有的 EXECUTE(執(zhí)行)權(quán)限后,單擊 OK(確定)按鈕,保存更改并關(guān)閉對話框。依次單擊 OK(確定)按鈕,直到所有對話框均被關(guān)閉。

            至此,您已為 IIS 創(chuàng)建了自定義用戶,并設(shè)置了該用戶在 SQL Server 中的相應(yīng)權(quán)限。現(xiàn)在,您需要在 ASP.NET Web 項目中進(jìn)行一個配置更改,確保 ASP.NET 使用同一個用戶帳戶執(zhí)行對 SQL Server 的所有調(diào)用。

            設(shè)置您的 ASP.NET 應(yīng)用程序以模擬 DotNetKB 用戶

            為 IIS 下運行的 ASP.NET Web 應(yīng)用程序生成堅實可靠的配置的最后一個步驟是:配置 ASP.NET Web 應(yīng)用程序,使之能夠接受來自 IIS 的 Windows 用戶標(biāo)識并能用于訪問其他操作系統(tǒng)資源。為此,您只需在 web.config 根文件中輸入一行代碼。

            修改后的 web.config 文件如下所示:

            <configuration>
              <system.web>
                ... 其他要素 ...
                <identity impersonate="true"/> <!-- 假設(shè) IIS 用戶標(biāo)識 -->
                ... 其他要素 ...
              </system.web>
            </configuration>


            請注意,您只需添加 元素并將模擬特性設(shè)置為 true(真)。不必輸入用戶帳戶或密碼,因為這些信息將由 IIS 提供。也就是說,即使其他人能夠讀取您的配置文件,他們也無法確定使用哪些標(biāo)識憑據(jù)來執(zhí)行您的 Web 應(yīng)用程序。

            至此,您已生成了自定義用戶,并為其設(shè)置了訪問 SQL Server 和 IIS 的相應(yīng)權(quán)限。在下一篇《創(chuàng)建 ASP.NET 測試頁》中,我們來創(chuàng)建一些測試頁,確保它能夠正常工作。從這里您可以看出一切正常。


            posted on 2006-05-12 11:28 Jeff-Chen 閱讀(1284) 評論(9)  編輯 收藏 引用 所屬分類: ASP.NETWEB Service

            評論

            # re: IIS、ASP.NET和SQLServer的安全性問題 2011-08-15 19:21 AmeliaLEWIS
            It's good that we are able to get the <a href="http://bestfinance-blog.com/topics/credit-loans">credit loans</a> and that opens completely new opportunities.   回復(fù)  更多評論
              

            # re: IIS、ASP.NET和SQLServer的安全性問題 2012-01-24 12:53 essay writing
            To find facts just about this good topic, I buy pre written essays or custom essays at the essay writing service. The numbers of paper writing services offer the essay writing about this good post.   回復(fù)  更多評論
              

            # re: IIS、ASP.NET和SQLServer的安全性問題 2012-03-18 09:38 buy papers online
            If you understand what a right choice supposes to be, then you can find essay writing services.   回復(fù)  更多評論
              

            亚洲AV伊人久久青青草原| 久久精品麻豆日日躁夜夜躁| 狠狠色婷婷综合天天久久丁香| 久久久久免费看成人影片| 精品人妻久久久久久888| 国产精品99久久久久久www| 手机看片久久高清国产日韩| 亚洲色婷婷综合久久| 久久99亚洲网美利坚合众国| 久久青草国产手机看片福利盒子| 亚洲国产精品一区二区久久| 一级a性色生活片久久无少妇一级婬片免费放| 国产精品免费久久| 97视频久久久| 无码超乳爆乳中文字幕久久| 国产免费久久精品丫丫| 久久无码高潮喷水| 91精品国产高清久久久久久国产嫩草| 开心久久婷婷综合中文字幕| 国产精品禁18久久久夂久| 久久大香萑太香蕉av| 国产91色综合久久免费| 色偷偷91久久综合噜噜噜噜| 久久精品国产第一区二区三区| 99久久精品免费看国产一区二区三区 | 久久人人爽人人澡人人高潮AV | 久久久无码一区二区三区| 久久久WWW成人| 国产精品久久久久久福利漫画 | 色综合久久中文字幕无码| 无码人妻少妇久久中文字幕| 久久国产精品-久久精品| 久久香蕉国产线看观看精品yw| 久久91精品综合国产首页| 久久国产亚洲精品无码| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 国产欧美久久久精品影院| 欧美精品福利视频一区二区三区久久久精品 | 99久久香蕉国产线看观香| 久久精品人妻中文系列| 久久精品中文字幕一区|