Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将Windows登录名与数据库用户ID连接_C#_Sql_Sql Server_Database_Tsql - Fatal编程技术网

C# 如何将Windows登录名与数据库用户ID连接

C# 如何将Windows登录名与数据库用户ID连接,c#,sql,sql-server,database,tsql,C#,Sql,Sql Server,Database,Tsql,我在数据库中创建了用户并授予了权限,但如何将数据库中的username和userID列连接起来。例如,username windows是John,他在数据库中有权限将数据插入表中。我的数据库中有一个Usertable,John的ID是25459,这是主键。我需要以某种方式连接ID和Windows登录,以便我用c编写的程序知道,如果我以John的身份登录,我的ID为25459 直接回答: Windows登录名为UserPrincipal.UserName 建议: 如果您控制的是SQL Server

我在数据库中创建了用户并授予了权限,但如何将数据库中的username和userID列连接起来。例如,username windows是John,他在数据库中有权限将数据插入表中。我的数据库中有一个Usertable,John的ID是25459,这是主键。我需要以某种方式连接ID和Windows登录,以便我用c编写的程序知道,如果我以John的身份登录,我的ID为25459

直接回答: Windows登录名为UserPrincipal.UserName

建议:
如果您控制的是SQL Server而不是DBA,请在那里设置您的权限,而不是滚动您自己的权限。

我控制了服务器,我这样做了,但我需要连接一个windows/SQL用户名,该用户名已在服务器上设置了权限,并且具有表中的用户ID。例如,我有一个程序来为购买开具账单,它连接到数据库。当我按下“打印账单”按钮时,它应该打印出带有用户ID号的账单,我应该从服务器获取该用户ID号。因此,如果John登录到windows,他的用户ID应该是14546,例如,Jack是345565。因此,我应该将用户与其数据库中的用户ID连接起来,因为您希望维护该表,所以可能会混淆DisplayName和用户名aka SAMAccountName。使用从C获得的SAMAccountName,这是Pricipal.UserName。我在sql server中的登录文件夹中有一个名为PC1\JACK的用户,该用户与我的windows帐户连接。我必须以某种方式将其映射到SalesStaff表中的用户ID,以便能够从我的c程序中提取他的ID。我的员工用户ID是社会保险号码,因此不能是samaccount。用户ID是生成的号码,除了应用程序外,没有人知道该号码。因此,用户表应该包含一个具有PC1\JACK的字段。考虑与用户表无关的登录文件夹。使用C在用户表中查找PC1\JACK用户名,返回14546。感谢您的帮助。我不能这样做,我的任务是将一个社会保险号作为UserID主键,并在表中显示用户的全名。我不应该从c程序中查找用户,它应该是自动的。如果我以Jack的身份登录windows,程序应该已经知道了,因为它在windows下运行,所以当我访问数据库时,它已经知道我有什么限制。我应该找到一种方法将表字段UserID与windows登录连接起来