由於安全性的問題,若從外部要連結aspx(ASP .net + IIS 7 + SQL Server 2008),可能要注意以下幾點問題:


1. 要在Windows防火牆「輸入規則」新增TCP連接埠,並選「特定本機連接埠」1433 (1433是預設port)


2. 「SQL Server組態管理員」上的「用戶端通訊協定」裡的「Shared Memory」、「TCP/IP」、「具名管理」皆啟用。並在「SQL Server網路組態」「MSSQLSERVER的通訊協定」裡的「TCP/IP」按右鍵「內容」「IP位址」「IPAll」填上「TCP通訊埠」1433


3. 使用SQL Server Management Studio(SSMS)連接SQL Server,在「安全性」「登入」裡新增登入使用者,在左方「伺服器角色」勾選「public」,然後在左邊「使用者對應」勾選可以操作的資料庫,然後再勾選下方「db_datareader」「db_datawriter」「public」,接下來在點左方的「狀態」,把「連接到Database Engine的權限」選擇「授與」「登入」的地方選擇「已啟用」


4. 在SSMS裡點選「資料庫」「Northwind」(此處資料庫的名稱)→按右鍵「屬性」→然後再點選左方「權限」→搜尋「上方第3點」所新增的使用者角色名稱→接著在下方勾選要授與的權限。


5. 在SSMS裡點根節點,也就是<hostname>\SQLEXPRESS,然後右鍵「屬性」「安全性」→伺服器驗證選擇「SQL Server及Windows驗證模式」,此時還要再打開「SQL Server組態管理員」,點選「SQL Server服務」→重新啟動「SQL Server」「SQL Server Browser」


6. ASP .net網站裡的Web.conf要更改一下連線字串
---------------------------------------------------------------
<connectionStrings>
<add name="NorthwindConnectionString" connectionString="Data Source=192.168.1.1\SQLEXPRESS;database=Northwind;Initial Catalog=Northwind;User ID=username;Password=password;Trusted_Connection=True;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
---------------------------------------------------------------



7. 允許http://192.168.1.1/dir 可以執行aspx去連結SQL Server的權限。首先,請在C:\inetpub\wwwroot\下建立一個dir目錄→開啟「伺服器管理員」→點開「角色」→點開「網頁伺服器(IIS)」→點選「Internet Information Services (IIS) 管理員」→再點開右方新跑出來的樹狀結構的「<hostname>」→點開「站台」→點開「Default Web Site」→在「dir」目錄上點選右鍵「轉換成應用程式」→再按「確定」,此時就可以執行http://192.168.1.1/dir/xxx.aspx







以上資料參考自:http://www.dotblogs.com.tw/shadow/archive/2011/12/18/62521.aspx

arrow
arrow
    全站熱搜

    dreamtails 發表在 痞客邦 留言(1) 人氣()