我有一个从Active Directory进行身份验证的SQL Server 2008 Express R2实例。用户的记录与其存储在数据库中的AD帐户相关联。我想为他们编写存储过程以检索他们的记录。
因此,该存储过程可能会执行查询SELECT * FROM PurchaseOrders WHERE uid = $userid
我要如何找到$userid
,即其AD配置文件中的属性?
谢谢!
我有一个从Active Directory进行身份验证的SQL Server 2008 Express R2实例。用户的记录与其存储在数据库中的AD帐户相关联。我想为他们编写存储过程以检索他们的记录。
因此,该存储过程可能会执行查询SELECT * FROM PurchaseOrders WHERE uid = $userid
我要如何找到$userid
,即其AD配置文件中的属性?
谢谢!
一般来说,您可能希望获取
SELECT SUSER_NAME()
来自SQL Server - 这是以DOMAIN\UserName
格式表示的连接用户。
通常你无法直接从SQL Server机器访问AD并从中获取一些信息... 如果你无法使用DOMAIN\User Name
的值,最好的方法是将该信息从调用应用程序传递到存储过程中。
SELECT * FROM PurchaseOrders WHERE uid = CURRENT_USER
SELECT * FROM PurchaseOrders WHERE uid = SUSER_NAME()