如何在asp.net网站上保护单个aspx页面

时间:2012-03-14 11:32:45

标签: asp.net vb.net authorization

我的网站上有多个aspx页面,但我只想保护一个页面。我使用了asp.net成员资格和角色管理器,但它需要所有页面的用户名和密码,但我想只保护一个页面。请问任何人可以帮助我如何使用asp.net在vb.net中执行此操作。我在web.config中使用了以下代码,但它适用于我不想要的所有页面

<authorization>
   <allow users="sml" />
   <deny users="?" />
   <deny roles="users" />
  </authorization>
  <roleManager enabled="true" />
   <authentication mode="Forms">
     <forms loginUrl="Login.aspx"  timeout="9820"  defaultUrl="Food.aspx"  cookieless="AutoDetect" >
     </forms >
   </authentication >

3 个答案:

答案 0 :(得分:1)

 <location path="ProtectedPage.aspx">
    <system.web>
      <authorization>
        <allow roles="sml" />
        <deny users="*" />
      </authorization>
    </system.web>
  </location>

答案 1 :(得分:0)

你可以使用URL授权

<location path="page.aspx" />
  <authorization>
    <allow users="Bob" />
    <deny users="*" />
  </authorization>
</location>

检查http://msdn.microsoft.com/en-us/library/ff649337.aspx

答案 2 :(得分:0)

尝试修改您的web.config。如下所述。

<secureWebPages>
<files>
    <add path="Default.aspx" secure="Insecure" />

    <add path="Admin/MoreAdminStuff.aspx" secure="Ignore" />

    <add path="Legal/Copyright.aspx" secure="Ignore" />

    <add path="Lib/PopupCalendar.aspx" secure="Ignore" />

</files>
<directories>
    <add path="/" recurse="False" />

    <add path="Admin" />

    <add path="Admin/Info" secure="Insecure" />
    <add path="Members/Secure" recurse="True" />

</directories>

有关详细信息,请参阅http://www.codeproject.com/Articles/7206/Switching-Between-HTTP-and-HTTPS-Automatically-Ver