簡體   English   中英

ASP.NET應用程序訪問數據庫的權限被拒絕

[英]Permission denied for ASP.NET app to access database

我有一個Sitefinity ASP.NET網站,該網站具有數據庫Db1 我將數據庫附加到SQL Server Management Studio。

當我運行ASP.NET應用程序時,它似乎沒有訪問數據庫的權限。 Sitefinity無法連接到現有數據庫,然后嘗試創建一個新數據庫,並引發以下錯誤:

CREATE DATABASE權限在數據庫“ master”中被拒絕

連接字符串為:

<add connectionString="data source=localhost\sqlexpress;Integrated Security=SSPI;initial catalog=Db1" providerName="System.Data.SqlClient" dbType="MsSql" name="Sitefinity" />

在SQL Management Studio中,我使用Windows身份驗證連接到localhost \\ SQLEXPRESS實例。

我認為問題是,我需要授予ASP.NET進程用戶訪問數據庫Db1權限。 我在哪里可以找到該用戶,如何授予權限?

我也不確定該應用程序是否應該使用正確的SQL Server用戶而不是Windows身份驗證進行連接。

在IIS中,找到網站的應用程序池,然后將憑據設置為要用於連接數據庫的Windows帳戶。

ypu在連接字符串上使用AD用戶,請參閱Integrated Security = SSPI項? 如果為true,則表示當前Windows帳戶憑據用於身份驗證。

您確定您的用戶有權在該實例上創建數據庫嗎?

最直接,可移植/可部署的解決方案是切換到SQL Server身份驗證。

在SSMS中,展開服務器的“安全性”選項卡,然后添加具有適當名稱和密碼的用戶。 確保取消選中“下次登錄時必須更改密碼”復選框。

然后,展開數據庫的安全性選項卡,添加用戶,並將其添加到所需的任何角色。 為了進行調試,您可能只想將其添加到數據庫所有者角色。

這很有用,因為所有相關設置都存儲在您的應用程序配置和數據庫本身中,這使部署變得輕而易舉,並且您不必擔心在密碼過期時保持應用程序用戶帳戶的更新等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM