- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在编写一个应用程序 (.Net) 来创建一些必须写入特殊文件夹的报告。
问题是:我的应用程序的用户应该对该文件夹具有读取权限,但不允许写入或更改任何内容。如果程序继承了用户的权限,如何在此文件夹中创建文件?
我对 Windows-Permissions 不是很确定,所以我不知道他们是否可以处理它。
有人能给我指出一个大概的方向吗?
最佳答案
显而易见的方法是创建一个对文件夹具有写入权限的服务,这样它就可以充当向文件夹写入请求的“代理”。您的流程将如下所示:
拥有一个单独的代理进程来调节对受限位置的访问现在非常普遍,并且是 Internet Explorer 采用的技术之一,除其他外,允许它在默认情况下使用 UAC 和受限文件系统访问。
您可以对您的代理服务进行编码,使其仅允许(即公开一个 API),例如,在受限位置创建新文件,从而防止历史输出被删除/覆盖,并消除向标准用户提供任何东西的需要除了对受限位置的读取权限。
另一种方法大致相似但不需要编写 Windows 服务,它是创建一个计划任务,该任务配置为在执行步骤 1 到 5 中的操作的“提升的用户”下运行,但是然后将其配置为允许应用程序按需(而不是按计划)执行(我认为这是可能的,但不是 100% 确定)。
关于.net - 如何赋予程序比启动它的用户更多的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11205356/
我有一个用 C 编写的多线程合并排序程序,以及一个使用 0、1、2 或 4 个线程对其进行基准测试的程序。我还用 Python 编写了一个程序来进行多项测试并汇总结果。 奇怪的是,当我运行 Pytho
这个问题在这里已经有了答案: Why is my Rust program slower than the equivalent Java program? (1 个回答) 关闭 5 年前。 我用
关于编译为 JavaScript 的语言的开发,我也在考虑以 C++ 为目标,以便在需要时生成更快的程序。我的计划是使用 std::vectors 来保存我的语言的动态数组。重复填充一个大数组将是一个
今天,我正在阅读一些用 FORTRAN 77 编写的非常流行的数值库中的代码,例如 QUADPACK ( last updated in 1987 ),我想知道除了大量的代码之外,是否有任何理由不在
我的 Java 程序目前遇到了一个奇怪的行为: 该程序是一个 JavaFX 桌面应用程序,它使用本地 Selenium 独立服务器打开 Web 应用程序,进行一些输入并下载 Excel 文件。它读取
我为我已经完成并提交的 OS 类作业写了这篇文章。我昨天发布了这个问题,但由于“学术诚信”规定,我在提交截止日期之后才将其取消。 目标是学习如何使用临界区。有一个 data 数组,其中包含 100 个
我查看了 Rust 程序使用了多少 RAM(top 命令的 RES 列),我想知道为什么它们使用这么多内存。 这是一个例子: use std::io; fn main() { println!
我是一名优秀的程序员,十分优秀!