Sql server 获取SQL Server存储过程中的当前用户
我有一个SQL Server 2008 Express R2实例正在从Active Directory进行身份验证。用户将与他们的广告帐户关联的记录存储在数据库中。我希望有存储过程供他们检索记录 因此,该过程可能会使查询Sql server 获取SQL Server存储过程中的当前用户,sql-server,stored-procedures,active-directory,Sql Server,Stored Procedures,Active Directory,我有一个SQL Server 2008 Express R2实例正在从Active Directory进行身份验证。用户将与他们的广告帐户关联的记录存储在数据库中。我希望有存储过程供他们检索记录 因此,该过程可能会使查询从PurchaseOrders中选择*,其中uid=$userid 如何在他们的广告配置文件中找到$userid 谢谢 通常,您希望获得 SELECT SUSER_NAME() 来自SQL Server-这是以域\用户名格式连接的用户 您通常无法从SQL Server机器直接访
从PurchaseOrders中选择*,其中uid=$userid
如何在他们的广告配置文件中找到$userid
谢谢 通常,您希望获得
SELECT SUSER_NAME()
来自SQL Server-这是以域\用户名
格式连接的用户
您通常无法从SQL Server机器直接访问AD以从中获取一些信息。。。。如果无法使用域\用户名
值,最好将该信息从调用应用程序传递到存储过程
SELECT * FROM PurchaseOrders WHERE uid = CURRENT_USER
或
我们也可以这样透露密码吗?@Sunny:不,你不能透露密码,而且即使将用户名作为参数传递,也可以代表另一个人执行操作。这太糟糕了@鲁本约翰-不,不会的。你怎么能这么做?@Robino我错了,我假设这里的“参数”是指通过网络发送的REST参数。
SELECT * FROM PurchaseOrders WHERE uid = SUSER_NAME()