我有一個microsoft sql server數據庫和一組用戶。現在在我的應用程序中,我想使某些功能僅在用戶輸入用戶名和密碼(admin)時纔可見。由於數據庫和用戶名及其權限可能會更改,因此如何檢查Microsoft SQL Server用戶擁有的權限/權限?微軟sql server:檢查用戶自己的權限
5
A
回答
6
您可以使用[sys.fn_mypermissions][1]
檢查當前用戶對某些安全措施的權利,該權限將返回安全性的所有權限。您還可以使用HAS_PERMS_BY_NAME
來檢查特定權限。例如。您可以檢查CONTROL SERVER
許可,這意味着管理員在登錄:
SELECT HAS_PERMS_BY_NAME(null, null, 'CONTROL SERVER');
0
我不能完全肯定,我理解你的問題,但是定義假設我這樣做.....
我會建議你創建一個SQL Server數據庫角色,您可以添加相關應用程序的用戶,也許可以通過應用程序(或Windows域組)中維護的某些組成員身份進行。您可以使用組到角色映射來獨立管理用戶成員資格,從管理相關權限到通過角色的數據庫內的安全性。
這樣,您只需檢查應用程序用戶是相關應用程序或Windows組的成員,而無需查詢SQL Server的安全配置。
0
要做到這一點,最簡單的方法是使用IS_MEMBER功能,即檢查羯羊用戶中的角色/組的db_owner。該功能將在數據庫級執行檢查。 如果您需要在服務器級檢查,則可以使用IS_SRVROLEMEMBER功能。兩者都可用,因爲SQL Server 2005.
相關問題
- 1. 微軟SQL Server Management Studio中dbcreator權限
- 2. SQL Server:在哪裏檢查sql級別的用戶/組權限?
- 3. SQL Server 2005用戶權限
- 4. SQL Server用戶表權限
- 5. 檢查用戶權限的權限
- 6. 對SQL Server用戶的有限權限
- 7. 微軟Navision如何跟蹤用戶/如何在登錄時自己檢查
- 8. PHP用戶權限檢查
- 9. 微軟SQL Server Express的
- 10. 的SQL Server 2008 - SSAS用戶權限
- 11. SQL Server的GRANT,REVOKE權限用戶
- 12. SQL Server權限
- 13. 微軟SQL Server與Laravel 5
- 14. SQL Server用戶權限審覈
- 15. SQL Server用戶權限錯誤消息
- 16. SQL Server 2008 R2用戶權限
- 17. SQL Server 2008 Express授予用戶權限
- 18. 爲什麼微軟創建自己的SQL擴展(T-SQL)?
- 19. SQL Server代理權限與用戶權限
- 20. sql server檢查限制
- 21. 檢查服務是否來自微軟
- 22. 檢查Oracle用戶的特定權限
- 23. 檢查用戶對SSRS的權限
- 24. PHP的MySQLi - 檢查用戶權限
- 25. Pymongo檢查連接的用戶權限
- 26. 微軟Office365獲取用戶OAuth授權
- 27. 檢查權限
- 28. 查詢SQL的用戶權限
- 29. SQL Server sys.credentials權限
- 30. sql server express權限
你能說清楚 - 根據用戶名/密碼應該顯示哪種功能?你將用戶名和密碼存儲在你的數據庫中,還是你的意思是它是在sql server安全文件夾下的用戶名/密碼?這聽起來像你想暗示自己的安全級別或用戶表上的標誌 - 用戶{用戶名,密碼,isAdmin},然後在你的應用程序中,當他們登錄時,你可以檢查他們是一個管理員?如果是這樣,額外的功能,如果沒有,隱藏它。另外,如果您有多個不同級別的訪問權限,請考慮使用單獨的表格 – Prescott 2010-11-25 08:05:27
不,我沒有其他功能。簡單來說。想象一下有n個用戶組。首先只能查詢其服務器。第二個可以查詢和執行插入語句。第三個也可以創建視圖...等等。我其實只是想知道當前用戶在數據庫中可以做什麼。 – 2010-11-25 08:24:20
順便說一句。不要固定在小組上。他們不需要組織在一起。只有多個用戶具有不同的權限。我只想禁用應用程序中的功能,目前的dbuser無法使用,因爲他沒有對數據庫的必要權限。 – 2010-11-25 08:26:46