2011-07-09 85 views
4

我有一個SQL Server 2008 Express R2實例從Active Directory進行身份驗證。用戶具有存儲在數據庫中的與其AD帳戶相關的記錄。我想爲他們提供存儲過程來檢索他們的記錄。獲取SQL Server存儲過程中的當前用戶

因此該過程可能使查詢SELECT * FROM PurchaseOrders WHERE uid = $userid

如何找出$userid,在他們的AD曲線的性質?

謝謝!

+0

http://msdn.microsoft.com/en-us/library/aa172599%28v=sql.80%29.aspx –

回答

7

通常情況下,你會想從SQL Server得到

SELECT SUSER_NAME() 

- 這是在DOMAIN\UserName格式連接的用戶。

您通常不能從SQL Server計算機直接訪問AD以從中獲取一些位......如果您無法使用DOMAIN\User Name值,那麼最好的辦法是將該信息從您的調用應用程序到您的存儲過程。

+0

很好,謝謝!我懷疑這可能是這種情況。 –

+0

我們可以通過這種方式顯示密碼嗎? –

+1

@Sunny:不,你不能透露密碼 –

0
SELECT * FROM PurchaseOrders WHERE uid = CURRENT_USER 

SELECT * FROM PurchaseOrders WHERE uid = SUSER_NAME()