我需要检查用户是否具有事件日志的写权限。我现在的解决方案是在日志中写一条测试消息,然后在日志中删除它(这样日志就不会被弄乱,因为经常调用权限检查(每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
发布于 2011-02-21 21:42:58
是的,AFAIK,使用CAS。用EventLogPermission属性修饰所需的成员,从那里您可以控制是否必须拥有访问权限、是否仅拥有所需的访问权限等等。
然而,如果您不熟悉,这很可能需要在CAS本身中进行更多的冒险。
MSDN Link。
https://stackoverflow.com/questions/5066630
复制相似问题