有人可以帮助我对此有所了解吗?我有一个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
答案 0 :(得分:1)
看起来您的问题是“如何在我的网页上检查Cookie值并在Cookie正常时返回具有正确文档类型的文件流”。
答案 1 :(得分:0)
您可以将以下代码添加到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>