asp.net - Web 保护 ASP.NET 网站

标签 asp.net web-config iis-6

有没有一种方法可以对 ASP.NET 网站进行网络保护,使其要求用户输入用户名/密码才能查看?

我被告知这应该放在 web.config 文件中,但不确定如何执行此操作,或者应该放在其中的内容。非常感谢任何帮助。

最佳答案

如果是内网场景那就很简单了。将其添加到您的 web.config

<configuration>
<system.web>
<authentication mode=”Windows”  />
 <authorization>
 <deny users="?"/>
 </authorization>
</system.web>
</configuration>

最快的互联网应用方式:

<authentication mode="Forms"> 
   <forms loginUrl="~/login.aspx"> 
    <credentials> 
     <user name="user" password="password" /> 
     <user name="user2" password="password2" /> 
    </credentials> 
   </forms> 
  </authentication> 

  <authorization> 
    <deny users="?"/> 
  </authorization> 

您还需要一个新页面login.aspx,其中包含一个用户可以输入其凭据的表单。在代码隐藏页面上,您需要以下代码:

string username = textBoxUsername.Text; 
string password = textBoxPassword.Text; 

if (FormsAuthentication.Authenticate(username, password)) 
    FormsAuthentication.RedirectFromLoginPage(username, false); 

关于asp.net - Web 保护 ASP.NET 网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8758169/

相关文章:

c# - 报表查看器控件将内容导出为 pdf

asp.net - Cookie和子域

asp.net - IO.File.Exists() 总是返回 false

c# - Web.Config - 特定文件的 StaticContent ClientCache 设置

c# - 使用 C# 在 IIS 中以编程方式创建网站并设置端口号

asp.net - 在 IIS 6/ASP.NET webforms 中记录服务器范围的请求数据(包括 POST 数据)

c# - 无法将 lambda 表达式转换为类型 'int'

sharepoint - 如何在 SharePoint 服务器场中的每个 WFE 上更新 web.config?

asp.net - <machineKey解密 key ="AutoGenerate"...被IIS忽略。不会使之前 session 的 cookie 失效

asp.net - log4net 不在 IIS 6.0 中写入