我已经实现了基于System.Diagnostics程序跟踪。

我也使用System.Diagnostics.TextWriterTraceListener,并迷上了整个跟踪到一个MOSS 2007 Web应用程序。

由于某种原因跟踪试图(a)中创建的日志文件,和/或(b)写入到日志文件中使用的的当前浏览SharePoint站点用户,是否有任何方式来配置日志记录以使用特定的用户帐户,而不是

有帮助吗?

解决方案

显然MOSS被配置为使用Windows身份验证(Kerberos的)和imersonation。如果你不需要模仿登录到苔当前用户,关闭模拟(其在web.config中)。你会发现,日志文件将被创建,并通过您的青苔安装的应用程序池在其下运行的用户编写的。

如果你要使用模拟,那么另一种解决方案是给每个人的权限创建和写在日志目录中的文件(只有在日志目录)。这不正是最好的主意,但是。您可以禁止对大家读权限,但那些需要读取日志,但你还是会担心人们试图DoS攻击你通过填充磁盘。

第三种选择是,在登录之前,切换标识。这样的事情可能工作:

var wic = WindowsIdentity.Impersonate(IntPtr.Zero); // "revert to self"
/* LOG GOES HERE K */
wic.Undo(); // return to impersonation

重要的提醒:我刚学这个东西我自己,所以上面的代码可能无法在所有工作。如果是这样,其味甘,因为你将不必的P / Invoke登录日志写作身份,这也意味着你将不必创建用户和存储他们的密码在你的应用程序明文。

我不知道哪来的醇”斯基特在这一个? Windows安全性要求一些繁重的;我刚开始用吧,现在...

其他提示

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top