• <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 信息服務器和 ASP.NET 引擎都提供了堅實可靠的安全模型,它們可以很好地在一起協(xié)同工作。為了保證用戶數(shù)據(jù)和應用程序的安全,Microsoft 還為每項服務的默認設置設置了相當?shù)偷闹怠4蠖鄶?shù)開發(fā)人員面臨的挑戰(zhàn)是如何使用 SQL Server、IIS 和 ASP.NET 在應用程序和數(shù)據(jù)之間設置適當?shù)男湃渭墑e,而不會留下可被別人輕易攻入的安全漏洞。由于涉及三類服務(SQL Server、IIS 和 ASP.NET),所以需要采取三個關鍵的步驟來確保解決方案的安全。本部分討論一種為 Web 應用程序設置足夠權限和信任級別的更常用(且可靠)的方法。

            定義 DotNetKB 自定義 IIS 用戶帳戶

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

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



            圖 7:生成的權限有限的用戶


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



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


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

            授權 DotNetKB 用戶帳戶訪問 SQL Server

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

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

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

            ·在左側的樹視圖中,展開節(jié)點以顯示 DotNetKB 數(shù)據(jù)庫。在我的計算機上,樹視圖的結構如下:Console Root | SQL Server Group | (LOCAL) (Windows NT) | Databases | DotNetKB。
            ·然后,在數(shù)據(jù)庫下的 Users(用戶)節(jié)點上單擊鼠標右鍵,并選擇 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(域)下拉框中選擇自定義用戶帳戶所在的計算機的名稱。然后從 Database(數(shù)據(jù)庫)下拉框中選擇 DotNetKB。
            ·現(xiàn)在,選擇 Databases(數(shù)據(jù)庫)選項卡,在對話框頂部的列表中找到 DotNetKB 數(shù)據(jù)庫并選中它。然后,確保選中對話框底部列表中的 public(公共)角色。最后,單擊對話框底部的 OK(確定)按鈕,保存您的更改。



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


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

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

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

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

            設置您的 ASP.NET 應用程序以模擬 DotNetKB 用戶

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

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

            <configuration>
              <system.web>
                ... 其他要素 ...
                <identity impersonate="true"/> <!-- 假設 IIS 用戶標識 -->
                ... 其他要素 ...
              </system.web>
            </configuration>


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

            至此,您已生成了自定義用戶,并為其設置了訪問 SQL Server 和 IIS 的相應權限。在下一篇《創(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.   回復  更多評論
              

            # 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.   回復  更多評論
              

            # 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.   回復  更多評論
              

            97久久精品人人做人人爽| 亚洲精品乱码久久久久久不卡| 老男人久久青草av高清| 亚洲中文字幕久久精品无码APP| 色8久久人人97超碰香蕉987| 久久婷婷国产麻豆91天堂| 久久久中文字幕日本| 久久亚洲AV成人出白浆无码国产| 久久青草国产精品一区| 久久久久久国产精品美女| 色噜噜狠狠先锋影音久久| 久久久久av无码免费网| 久久久青草久久久青草| 久久亚洲AV无码精品色午夜| 91精品婷婷国产综合久久| 伊人久久大香线蕉综合Av| 久久久久亚洲AV成人网人人软件| 九九久久自然熟的香蕉图片| yy6080久久| 久久精品国产精品亚洲艾草网美妙 | 久久亚洲国产成人影院网站| 久久人人爽人人人人片av| 久久成人精品| 蜜桃麻豆www久久| 91久久精品91久久性色| 一本久久a久久精品vr综合| 人妻丰满?V无码久久不卡| 一本一道久久精品综合| 日韩欧美亚洲综合久久影院d3| 国产精品无码久久综合| 亚洲午夜久久久久久久久电影网| 香蕉aa三级久久毛片| 亚洲国产一成久久精品国产成人综合| 精品久久久无码中文字幕| 99久久精品九九亚洲精品| a级毛片无码兔费真人久久| 国内精品久久久久| 9191精品国产免费久久| 国产精品99久久精品爆乳| 久久国产高清一区二区三区| 久久精品国产亚洲5555|