ASP.NET web.config Forms身份验证,拒绝匿名用户,允许匿名访问单个文件

时间:2015-09-09 14:14:44

标签: c# asp.net

我在这里阅读本教程:http://blog.repsaj.nl/index.php/2007/08/mixing-forms-based-and-windows-authentication-in-aspnet/

这部分很有意思:

  
      
  1. 创建3个文件:Login.aspx,WebLogin.aspx,WinLogin.aspx。这些将是唯一可以在没有任何凭据的情况下访问的3个文件。您可以通过Web.config允许匿名访问,如下所示:
  2.   

但是下面的部分是空白的:(

所以我的问题是,如何允许匿名访问我的Login.aspx,WebLogin.aspx和WinLogin.aspx?

2 个答案:

答案 0 :(得分:1)

将此添加到您的web.config中。对于您希望每个人都可以访问的每个页面,您需要重复此操作(在您的情况下为3)。

    <location path="Login.aspx">
      <system.web>
        <authorization>
          <allow users="*" />
        </authorization>
      </system.web>
    </location>

答案 1 :(得分:0)

   <configuration>
  <system.web>

    <authentication mode="Forms">
      <forms loginUrl="SignIn.aspx" defaultUrl="Welcome.aspx"  protection="All">
        <credentials passwordFormat="Clear">
          <user name="lee" password="lee12345"/>
          <user name="add" password="add12345"/>
        </credentials>
      </forms>
    </authentication>

    <authorization>
      <deny users="?" />      <!--his will restrict anonymous user access-->
    </authorization>

  </system.web>

  <location path="register.aspx">    <!--path here is path to your register.aspx page-->
    <system.web>
      <authorization>
        <allow users="*"/>       <!--this will allow access to everyone to register.aspx-->
      </authorization>
    </system.web>
  </location>

</configuration>