我有一個SQL Server 2008 Express R2實例從Active Directory進行身份驗證。用戶具有存儲在數據庫中的與其AD帳戶相關的記錄。我想爲他們提供存儲過程來檢索他們的記錄。獲取SQL Server存儲過程中的當前用戶
因此該過程可能使查詢SELECT * FROM PurchaseOrders WHERE uid = $userid
如何找出$userid
,在他們的AD曲線的性質?
謝謝!
我有一個SQL Server 2008 Express R2實例從Active Directory進行身份驗證。用戶具有存儲在數據庫中的與其AD帳戶相關的記錄。我想爲他們提供存儲過程來檢索他們的記錄。獲取SQL Server存儲過程中的當前用戶
因此該過程可能使查詢SELECT * FROM PurchaseOrders WHERE uid = $userid
如何找出$userid
,在他們的AD曲線的性質?
謝謝!
通常情況下,你會想從SQL Server得到
SELECT SUSER_NAME()
- 這是在DOMAIN\UserName
格式連接的用戶。
您通常不能從SQL Server計算機直接訪問AD以從中獲取一些位......如果您無法使用DOMAIN\User Name
值,那麼最好的辦法是將該信息從您的調用應用程序到您的存儲過程。
很好,謝謝!我懷疑這可能是這種情況。 –
我們可以通過這種方式顯示密碼嗎? –
@Sunny:不,你不能透露密碼 –
SELECT * FROM PurchaseOrders WHERE uid = CURRENT_USER
或
SELECT * FROM PurchaseOrders WHERE uid = SUSER_NAME()
http://msdn.microsoft.com/en-us/library/aa172599%28v=sql.80%29.aspx –