0

我们目前正在用 C# 开发一个实现审计跟踪的软件,但是当它被多用户使用时,我们无法知道哪个用户实现了更新/插入/删除。我的用户表如下所示:

create table Users(
    userID varchar(20) not null,
    userPass varchar(20) not null,
    userFName varchar(25) not null,
    userLName varchar(25) not null,
    userMName varchar(25) not null,
    secretAnswer varchar(40),
    userStatus int default 0,
    primary key(userID)
)

userStatus检查用户是否登录,默认为0,表示未登录,登录后更新为1,表示当前为该软件的用户. 所以,要检查谁登录,我的代码是

select userID from Users where userStatus = 1

然后所有用户的所有用户状态在他退出后将被重置为0,或者软件被关闭。但是这个逻辑只适用于个人用户。如何跟踪实现更新/插入/删除的用户?我正在使用 C#。我在这里先向您的帮助表示感谢。

4

1 回答 1

0

在您写入日志之前,您的代码中的 Dustine 您可以根据他们的登录跟踪正在调用代码的当前用户,您可以执行此操作,它将返回您需要确定代码中您想要的位置的当前用户放好它

var currentUser = System.Security.Principal.WindowsIdentity.GetCurrent().Name.Split(
    new [] {"\\"}, 
        StringSplitOptions.RemoveEmptyEntries)[1];

这是您可以看到的相同代码将字符串拆分DomainUser

var currentUser2 = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
var SplitUser = currentUser2.Split(new string[] { "\\" }, StringSplitOptions.RemoveEmptyEntries);
var domain = SplitUser[0];
var domainUser = SplitUser[1];
于 2013-03-25T13:31:37.673 回答