2011-07-09 21 views
4

Active DirectoryからSQL Server 2008 Express R2インスタンスを認証しています。ユーザーは、自分のADアカウントに関連付けられたレコードをデータベースに格納しています。私は彼らがレコードを取得するための手順を保存したいと思います。SQL Serverストアドプロシージャで現在のユーザーを取得する

ので、手順は、私が$useridを見つけるにはどうすればよいのクエリSELECT * FROM PurchaseOrders WHERE uid = $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

@サニー:いいえ、あなたはパスワードを明らかにすることはできません –

0
SELECT * FROM PurchaseOrders WHERE uid = CURRENT_USER 

または

SELECT * FROM PurchaseOrders WHERE uid = SUSER_NAME() 
関連する問題