如果我将应用程序池身份更改为本地系统,安全性如何?

What about security if I change application pools identity to local system?

我开发了 asp.net 应用程序来从扫描仪读取和扫描文件,但是当我将它上传到 IIS 时(windows 10 X64 是我的测试机器)我得到了这个错误:

Creating an instance of the COM component with CLSID {E1C5D730-7E97-4D8A-9E42-
BBAE87C2059F} from the IClassFactory failed due to the following error: 
80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).

在互联网上进行一些研究后,我发现 this article 并检查了所有步骤,唯一有效的解决方案是 "In IIS if I change application pool identity from ApplicationPoolIdentity to Local System it works"。

现在的问题是它会降低我的安全性吗?这两种身份的区别是什么?

如果您 运行 作为本地系统,您是 运行ning 代码,可以从互联网上以 "Local System" 访问,就是这样,您的代码是 运行就好像它是操作系统一样(即,它可以做盒子上管理员可以做的一切 - 甚至更多)。一般来说,建议是 "don't do that" - 如果有人破坏了您的应用程序,他们将拥有您的盒子。

与您的插件供应商交谈并询问他如何执行此操作的建议。