在我的web服务应用程序的根目录中,我有一个包含一些html
和txt
文件的目录。这些文件只能访问经过身份验证的用户。我怎样才能做到这一点?ASP.Net仅为经过身份验证的用户提供接受/浏览权限
这是我的问题的后续:ASP.Net Directory Security
我实现HttpHandler
通过Shark在该职位的建议。它允许html
和txt
文件处理,但我无法将这些文件也显示给已验证的用户。
更新:我通过在处理程序检查会话解决了这个问题。当在服务器上托管时,我面临另一个问题。即我的自定义处理程序没有被调用。我得到的原因和解决这个问题上:http://msdn.microsoft.com/en-us/library/bb515343.aspx
原因:
默认情况下,Internet信息服务(IIS)通行证 只有某些文件类型ASP.NET服务请求。文件名为 的扩展名如.aspx,asmx和.ashx已被映射到 ASP.NET ISAPI扩展名(Aspnet_isapi.dll)。
解决方案:
要使IIS通过其他的文件扩展名到ASP.NET,你必须 注册在IIS扩展名。
始末:http://www.naveenbhat.in/2012/06/directory-security-on-webservice-with.html
我已经试过这个,但它不适合我!有什么,有关 - 我需要在代码中做什么? – NaveenBhat 2012-01-06 12:00:22
你试过表单身份验证?如果在验证后检查Page.User.Identity.IsAuthenticated,返回什么?或者你没有配置任何身份验证? – Chris 2012-01-06 12:05:28
对于延迟感到抱歉....我使用'windows'认证,并且'Page.User.Identity.IsAuthenticated'在我的情况下总是返回'true'。我没有尝试过'Forms',因为它的webservice应用程序和AFAIK'Forms'认证在这里不是一个好的选择。 – NaveenBhat 2012-01-09 08:35:57