c#只对任何用户的子目录进行身份验证
本文关键字:子目录 身份验证 用户 任何 | 更新日期: 2023-09-27 17:53:47
请注意,这是我之前的问题的一个小变化。
我正在使用c# .NET Web Forms 4.0
我有一个像下面这样的文件夹,我需要密码保护,所以任何人(任何外部用户也可以查看网站)想要查看页面需要首先输入用户名,密码(我们告诉他们),以便查看页面。
的例子:
www.abc.com/srlv/
所以在srlv下我有需要密码保护的网页。
注意,只有当用户访问/srlv/
下的文件时,我们才需要进行身份验证注意这些是。html文件,而不是。aspx文件。
www.abc.com/srlv/index.html, www.abc.com/srlv/about.html
但是如果用户输入www.abc.com它将允许他们在没有任何身份验证的情况下查看网站
我正在考虑使用以下内容:
<authenticaton mode="Forms">
<forms loginUrl="/srcs/login.aspx" timeout="30" defaultUrl="/srlv/index.aspx" cookieless="UseUri">
<credentials passwordFormat="Clear">
<user name="Usw" password="pass123"/>
</credentials>
</forms>
</authentication>
但是我怎么说认证只有当你去
中的任何文件时 www.abc.com/srlv/
你可以在web中使用location元素。配置为您的网站的部分配置权限
<configuration>
<location path="srlv">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
</configuration>
您需要在目标文件夹中创建一个web.config
文件,其内容如下。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allow users="Usw"/>
<deny users ="*,?" />
</authorization>
</system.web>
</configuration>
它简单地说,允许用户Usw
,但拒绝其他用户
位置可以帮你…
http://support.microsoft.com/kb/316871简单地访问所有未经授权的用户,只阻止特定的文件夹。
<configuration>
<system.web>
<authentication mode="Forms" >
<forms loginUrl="login.aspx" name=".ASPNETAUTH" protection="None" path="/" timeout="20" >
</forms>
</authentication>
<!-- This section denies access to all files in this application except for those that you have not explicitly specified by using another setting. -->
<authorization>
<deny users="?" />
</authorization>
</system.web>
<!-- This section gives the unauthenticated user access to the Default1.aspx page only. It is located in the same folder as this configuration file. -->
<location path="default1.aspx">
<system.web>
<authorization>
<allow users ="*" />
</authorization>
</system.web>
</location>
<!-- This section gives the unauthenticated user access to all of the files that are stored in the Subdir1 folder. -->
<location path="subdir1">
<system.web>
<authorization>
<allow users ="*" />
</authorization>
</system.web>
</location>
</configuration>