我需要检查用户是否具有事件日志的写权限。我现在的解决方案是在日志中写一条测试消息并在之后将其删除(这样日志就不会搞砸了,因为经常会调查权限检查(每3-5分钟)一些'Healthcheck' - 服务:
const string log = "MyApplicationLog";
const string source = "PermissionCheck";
EventLog evLog;
try
{
if (!EventLog.SourceExists(source))
{
EventLog.CreateEventSource(source, log);
}
evLog = new EventLog();
evLog.Source = source;
evLog.WriteEntry("PermissionCheck Test Message");
return true;
}
finally
{
//remove the check messages:
if (EventLog.Exists(log))
{
EventLog.Delete(log);
}
}
是否有可能在没有实际编写日志条目的情况下检查权限?
提前谢谢你,
ElKunzo
答案 0 :(得分:1)
是的,AFAIK,使用CAS。用EventLogPermission
属性装饰所需的成员,从那里你可以控制你是否必须有访问权限,只需要等等。
如果您不熟悉,这可能需要CAS本身的进一步冒险。