从.net网络应用程序登录的位置? - 由于权限,无法使用%APPDATA%

时间:2009-03-21 13:22:58

标签: .net security logging log4net

我需要一个我可以在log4net文件appender中指定的路径,以便日志文件可以去那里。 但是,aspnet或任何帐户对%APPDATA%文件夹没有写权限。 在没有要求客户管理员提供额外访问权限的情况下,我可以写任何地方吗? Path.GetTempFile()可能不是一个好主意。我需要一些我可以告诉用户查看的定义的地方,以及Web应用程序也可以从中读取的地方。 关于如何实现我需要的任何其他想法?

我想强调一点:关键是不要问客户任何事情!

4 个答案:

答案 0 :(得分:1)

嘿,我确实想到了什么。 Duh ...我之前没有提到这件事我觉得有点傻。如果您的应用正在与数据库通信,则可以在其中为日志创建一个或多个表。有写入数据库的log4net appender。我确定如果您使用的是DB,那么许可问题已经解决了。并且数据库中的日志条目具有一些优点(也存在一些缺点)。

答案 1 :(得分:1)

在我当前的应用程序中,安装程序(使用Windows Installer XML构建的.msi)为日志输出创建了一个可写文件夹(以及一个ZIP所有日志文件的工具,并在出现问题时将它们发回给我)。

答案 2 :(得分:1)

使用EventLogAppender的系统事件日志怎么样?这是你的选择吗?

答案 3 :(得分:0)

据我所知,默认情况下ASPCN用户没有权限写入。根据设计,它是一个非常有限的帐户。我认为必须进行一些管理员更改,但有一些方法可以自动化,因此您的客户无需手动执行这些更改。例如,它们可以放在您提供的脚本中,当然也可以放在安装程序中。我相信您仍然希望确保客户的更改是正确的,具体取决于他们的安全意识或IT意识。我希望我能想出一种方法让你做你想做的事,但没有别的想法。