监控登录多用户软件

本文关键字:软件 多用户 登录 监控 | 更新日期: 2023-09-27 18:05:50

我们目前正在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

那么一旦用户注销,或者软件关闭,所有用户的userStatus将重置为0。但是这种逻辑只适用于个人用户。如何跟踪执行更新/插入/删除操作的用户?我正在使用c#。提前感谢您的帮助

监控登录多用户软件

在你写日志之前你可以在你的代码中跟踪当前用户谁是基于他们的登录调用代码你可以这样做,它会返回当前用户你需要决定在你的代码中你想把它放在哪里

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];