我正在使用ASP.NET 4.0,C#和IIS7的Web應用程序。 Web應用程序是定義多個用戶角色的內容管理系統,例如編輯器和管理員。這些用戶和角色由asp.net成員資格框架管理,關聯的數據庫表使用aspnet_regsql集成到Web應用程序的數據庫中。最後,Web應用程序在ApplicationPoolIdentity下運行。因此,Web應用程序在虛擬帳戶「IIS AppPool \」下運行,它不與任何其他應用程序共享。ASP.NET/IIS7 - 保護對多個用戶角色的SQL Server訪問
該網站的設計使得用戶帳戶由管理員發佈(沒有公共註冊頁面),儘管此詳細信息可能無關緊要。無論如何,管理員應該有權創建和刪除用戶並編輯站點上的任何內容。另一方面,編輯應該只能編輯網站的指定部分。最後,網站的匿名訪問者應該只能查看內容,而不能編輯。
問題是:在SQL Server數據庫中向IIS AppPool \虛擬帳戶授予讀寫訪問權限併爲Web應用程序的底層業務邏輯中的不同用戶角色提供功能會不安全?
我不這麼認爲,但由於數據完整性的必要性,我認爲徵求其他開發者的意見可能是一個好主意。
如果(且僅當)這會造成不可預見的安全風險,使用模擬,使用SQL身份驗證將web.config文件中的多個連接字符串存儲或在數據庫本身中跟蹤用戶權限是否更好? ?