我希望能夠擁有一個只能從特定頁面使用的存儲過程,而無需爲用戶創建權限/角色,而只需要以這種方式訪問單個存儲過程。如何控制對SQL Server中存儲過程的訪問?
例如我想要一個proc_GetCustomerItems存儲過程,它接受CustomerID的參數,然後返回客戶已購買的項目列表,但是我希望這僅適用於列出客戶項目的地方,例如。 ASP頁面顯示這個列表,但不能從其他任何地方工作,如查詢分析器等。
這是用另一個參數來提供額外的安全信息,基本問題是如何只允許某些方法和頁面訪問一個存儲過程,這可以通過角色或權限來完成嗎?
主要問題是如何正確設置存儲過程對代碼中特定方法的訪問權限,這將有助於強制使用所述存儲過程,因此必須明確允許GetCustomerItems方法(在ASP中爲例如)使用此存儲過程的權限。
我猜測角色和用戶訪問將成爲建議的替代方案,但我會感興趣的是,如果可以通過調用存儲過程來限制對存儲過程的訪問,我會感興趣。
我有一種感覺,情況是這樣,但我想我會問,因爲這是我想知道作爲一種可能的選擇。無論如何,這可能很有用,因爲它顯示SQL安全功能可以基於連接提供此功能,該頁面可以像上述那樣使用該功能。 – RoguePlanetoid 2009-11-06 15:03:37