如何拒绝用户访问特定 URL。asp.net C#



我试图拒绝使用特定url的任何人的访问。

例如:

用户可以访问:testing.com但是用户不应该访问:testing.com/files(即使用户在url中粘贴了这个链接)

我尝试使用Web。配置,全球。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<location path="http://mypath.com/files">
<system.web>
<authorization>
<deny users="*"/>               
</authorization>
</system.web>
</location>
</configuration>

我创建了两个Web。配置和全局。因为当我创建项目时,它们不包括在内。如果有什么方法可以不使用它们而做到这一点,那就更好了。但我不知道哪一个是最好的方法。

你能告诉我答案在哪里吗?

将web配置放到files文件夹中。虽然你可以试着在一个主网站上乱搞。配置,我会保持简单,并确保一个文件夹一个文件夹,然后只添加一个web。配置到每个文件夹。它只是没有那么复杂。

对于这个文件夹,你可以输入:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allow roles="Portal" />
<deny users="*" />
</authorization>
</system.web>
</configuration>

所以,现在你不必担心混乱的URL -它只是你在网络中的文件夹。配置文件。

现在,请记住,如果你以这种方式保护文件夹,那么用户对该文件夹中文件的url不能被使用。

后面的代码可以!!所以,请记住IIS安全只适用于你的标记,url和超链接。

但是,后面的代码仍然可以100%自由地使用该路径名。事实上,你的代码使用这样的文件将不会使用URL的,但平面简完整的windows文件路径名称。

因此,您仍然可以说提供一个网格视图或诸如此类的内容来列出该文件夹中的文件,当用户单击按钮(例如下载这样的文件)时,您可以读取该文件,并将其发送到浏览器以进行下载。

但是,任何指向上述文件夹的URL都将不起作用。

最新更新