Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何使用用户下载intranet文件';从浏览器中删除权限_Asp.net_Iis_Impersonation_User Permissions_File Access - Fatal编程技术网

Asp.net 如何使用用户下载intranet文件';从浏览器中删除权限

Asp.net 如何使用用户下载intranet文件';从浏览器中删除权限,asp.net,iis,impersonation,user-permissions,file-access,Asp.net,Iis,Impersonation,User Permissions,File Access,以下是我们正在尝试做的: 我们的react SPA正在调用在用户内部网中运行的第三方ASP.NET应用程序的API。用户使用其AD凭据对应用程序进行身份验证。当前API返回本地(intranet)文件和资源(当然还有其他数据)的路径。我们应该允许我们的webapp用户从他们的浏览器下载/打开这些文件 由于安全原因,直接从浏览器访问路径()不起作用,我能想到的唯一方法是从第三方请求一个新的API端点来读取后端的文件并对其进行流式处理。但由于我不熟悉.NET和IIS,我不知道是否可以使用当前登录用户

以下是我们正在尝试做的:

我们的react SPA正在调用在用户内部网中运行的第三方ASP.NET应用程序的API。用户使用其AD凭据对应用程序进行身份验证。当前API返回本地(intranet)文件和资源(当然还有其他数据)的路径。我们应该允许我们的webapp用户从他们的浏览器下载/打开这些文件

由于安全原因,直接从浏览器访问路径(
)不起作用,我能想到的唯一方法是从第三方请求一个新的API端点来读取后端的文件并对其进行流式处理。但由于我不熟悉.NET和IIS,我不知道是否可以使用当前登录用户的权限读取该文件。我读过关于模仿和委派的文章,但不知道它在我们的案例中是否有效,使用是否安全。它能否仅用于此操作,而不影响API的其余部分


总而言之:从后端请求这样做是否合理?或者我们可以在前端实现另一种选择吗?

如果
文件://
受到限制,那么
http://
呢?您是否正在尝试重新创建SharePoint?如果您要部署一个web应用程序,允许其用户从SMB共享下载文件,那么您将遇到麻烦。因为他们会下载一份。因此,如果有人单击Word文档,他们的浏览器会从您的API下载它,然后开始编辑它。当他们点击Save并关闭Word时,他们所做的更改将不会传播回共享。您真的需要重新考虑您的要求。@CodeCaster,不,我们的主要要求是在intranet上搜索信息(聚合各种数据源)。然后,用户可以打开与搜索结果关联的原始文档/电子邮件/网页。主要用例是读取可用数据,而不是更新数据。但是你有一个正确的观点,我们应该警告用户,他们的潜在更改不会自动保存回来。@Nick.McDermaid,我真的不理解你的问题。。。本地文件访问受浏览器限制(至少在chrome中)-请参阅。HTTP显然不是。这就是为什么解决方案是通过HTTP从后端服务文件,但是我们需要考虑用户的权限。我可能在这里漏掉了一些东西,但是如果你在IIS中设置一个虚拟目录,指向一个满是文件的文件夹,你可以通过浏览器打开这些文件(超过<代码> http:< /代码>,而不是<代码>文件:)。我不是100%赞成保留windows授权,但我认为这应该是可能的。如果
文件://
受到限制,那么
http://
呢?您是否正在尝试重新创建SharePoint?如果您要部署一个web应用程序,允许其用户从SMB共享下载文件,那么您将遇到麻烦。因为他们会下载一份。因此,如果有人单击Word文档,他们的浏览器会从您的API下载它,然后开始编辑它。当他们点击Save并关闭Word时,他们所做的更改将不会传播回共享。您真的需要重新考虑您的要求。@CodeCaster,不,我们的主要要求是在intranet上搜索信息(聚合各种数据源)。然后,用户可以打开与搜索结果关联的原始文档/电子邮件/网页。主要用例是读取可用数据,而不是更新数据。但是你有一个正确的观点,我们应该警告用户,他们的潜在更改不会自动保存回来。@Nick.McDermaid,我真的不理解你的问题。。。本地文件访问受浏览器限制(至少在chrome中)-请参阅。HTTP显然不是。这就是为什么解决方案是通过HTTP从后端服务文件,但是我们需要考虑用户的权限。我可能在这里漏掉了一些东西,但是如果你在IIS中设置一个虚拟目录,指向一个满是文件的文件夹,你可以通过浏览器打开这些文件(超过<代码> http:< /代码>,而不是<代码>文件:)。我不是100%赞成保留windows授权,但我认为这应该是可能的。