![](/img/trans.png)
[英]Microsoft Azure Web App - ASP.NET is not authorized to access the requested resource
[英]Authorized File access in ASP.NET Web Application
有人可以帮我一个想法吗? 我有一个C#网站应用程序,我想在其中进行访问网站目录中文档的授权。
如果用户要求通过我的网站http://www.mywebapp.com/documents/test.pdf中的链接要求使用pdf格式的文档,然后再在浏览器中打开test.pdf,我实际上是想验证用户是否有权根据他获得的角色访问pdf。 我已经为IIS中的“文档”文件夹启用了表单身份验证,如果用户未经过身份验证,系统将重定向到登录页面。 我对此很满意,但是坚持授权。
我无法在web.config中设置角色,因为不同的用户可能会有所不同。 该特定用户的用户角色存储在httpcookie中。
在我的文档文件夹中,将有针对不同角色的不同文档。
说出test.pdf作为供应商的角色。 因此,只有供应商可以访问此pdf
角色供应商的另一文档form.pdf-仅具有角色供应商的用户可以查看此pdf。
在将PDF加载到浏览器之前,我应该编写一些处理程序来执行吗? 还是在/ documents /发出请求时,我应该重写URL来执行aspx页面以验证授权,如果获得授权则显示该页面?
谁能帮助我了解如何实施此授权。
感谢您的帮助!
谢谢,KK
看来您的问题是“当Cookie正常时,如何检查页面上的Cookie值并返回具有正确文档类型的文件流”。
您可以将以下代码添加到web.config并尝试
<location path="documents/test.pdf ">
<system.web>
<authorization>
<allow roles="Vendors"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="documents/form.pdf ">
<system.web>
<authorization>
<allow roles="Role Supplier"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.