程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> IIS、SQL Server和ASP.NET安全設置解決方案.(2)

IIS、SQL Server和ASP.NET安全設置解決方案.(2)

編輯:關於SqlServer


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

  授權 DotNetKB 用戶帳戶訪問 SQL Server

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

  注意:盡管 Visual Studio .NET 2003 具有與 SQL Server 兼容的許多強大的集成功能,但也不允許從 Visual Studio .Net 2003 中輕松管理用戶和用戶權限。在大型的組織和團隊中,這些高級任務通常由數據庫管理員完成。   因此,啟動 SQL Server 企業管理器之後,您可以按照以下步驟將自定義用戶 (DotNetKB) 添加數據庫中。

  ·在左側的樹視圖中,展開節點以顯示 DotNetKB 數據庫。在我的計算機上,樹視圖的結構如下:Console Root   SQL Server Group   (LOCAL) (Windows NT)   Databases   DotNetKB。

  ·然後,在數據庫下的 Users(用戶)節點上單擊鼠標右鍵,並選擇 New Database User...(新建數據庫用戶...)。顯示 Database User PropertIEs - New User(數據庫用戶屬性 - 新建用戶)對話框時,從 Login name(登錄名)下拉框中選擇 (<新建>)。

  ·顯示 SQL Server Login PropertIEs - New Login(SQL Server 登錄屬性 - 新建登錄)對話框時,選擇 General(常規)選項卡,並在 Name(名稱)輸入框中輸入 DotNetKB。確保選中 Windows Authentication(Windows 驗證)單選按鈕,並從 Domain(域)下拉框中選擇自定義用戶帳戶所在的計算機的名稱。然後從 Database(數據庫)下拉框中選擇 DotNetKB。

  ·現在,選擇 Databases(數據庫)選項卡,在對話框頂部的列表中找到 DotNetKB 數據庫並選中它。然後,確保選中對話框底部列表中的 public(公共)角色。最後,單擊對話框底部的 OK(確定)按鈕,保存您的更改。


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

  下面是為 DotNetKB 數據庫中的存儲過程和函數授予執行權限的步驟:

  ·突出顯示樹視圖中 DotNetKB 數據庫下的 Users(用戶)節點,以顯示此數據庫的用戶列表。找到 DotNetKB 用戶並在其上雙擊,打開 Database Users PropertIEs(數據庫用戶屬性)對話框。

  ·突出顯示(選中)public(公共)角色時,單擊 Properties...(屬性...)按鈕,打開 Database Role PropertIEs(數據庫角色屬性)對話框。然後單擊 Permissions...(權限...)按鈕,顯示數據庫對象和權限設置列表。

  ·選中對話框頂部 Database role(數據庫角色)下拉列表中的 public(公共)角色之後,找到為此數據庫定義的所有存儲過程和自定義函數(可能需要展開對話框才能看到全名),並確保選中各項旁邊的 EXECUTE(執行)復選框。您可能會發現某些系統對象的其他一些復選框也被選中了,請不要更改這些選項。

  ·最後,設置所有的 EXECUTE(執行)權限後,單擊 OK(確定)按鈕,保存更改並關閉對話框。依次單擊 OK(確定)按鈕,直到所有對話框均被關閉。

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

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

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

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

  
  <configuration>

    <system.web>

      ... 其他要素 ...

      <identity impersonate="true"/> <!-- 假設 IIS 用戶標識 -->

      ... 其他要素 ...

    </system.web>

  </configuration>

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

  至此,您已生成了自定義用戶,並為其設置了訪問 SQL Server 和 IIS 的相應權限。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved