首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多用户软件中的日志监控

多用户软件中的日志监控
EN

Stack Overflow用户
提问于 2013-03-25 21:09:16
回答 1查看 104关注 0票数 0

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

代码语言:javascript
复制
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,表示他/她是该软件的当前用户。因此,为了检查谁已经登录,我的代码是

代码语言:javascript
复制
select userID from Users where userStatus = 1

当用户注销或软件关闭时,所有用户的所有userStatus将被重置为0。但此逻辑仅适用于单个用户。如何跟踪实现更新/插入/删除的用户?我使用的是C#。提前感谢您的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-25 21:31:38

在您的代码中写入日志之前,您可以根据用户的登录信息跟踪正在调用代码的当前用户。您可以执行此操作,它将返回当前用户,您需要确定要将其放置在代码中的哪个位置

代码语言:javascript
复制
var currentUser = System.Security.Principal.WindowsIdentity.GetCurrent().Name.Split(
    new [] {"\\"}, 
        StringSplitOptions.RemoveEmptyEntries)[1];

下面是将字符串拆分为DomainUser的相同代码

代码语言:javascript
复制
var currentUser2 = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
var SplitUser = currentUser2.Split(new string[] { "\\" }, StringSplitOptions.RemoveEmptyEntries);
var domain = SplitUser[0];
var domainUser = SplitUser[1];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15615773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档