如何通过在浏览器中手动键入aspx文件名来阻止访问Web表单?

时间:2017-01-23 14:20:23

标签: c# asp.net webforms authorization forms-authentication

我创建了一个仅供管理员使用的登录页面(因此无需检查用户是否为管理员)。该页面针对存储用户名和密码的数据库进行检查。我能够成功检查数据库的名称/密码,然后将用户转移到管理页面,但是,我注意到我仍然可以输入http://localhost:xxxxx/AdminPage,它将带我到那里。如何阻止人们这样做?我试过添加

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

到web.config文件,它阻止所有匿名用户进入,但现在我需要知道如何允许数据库中的用户获得权限。 (注意:这不是正常的登录默认设置。这是指向默认以外的页面)

1 个答案:

答案 0 :(得分:1)

您可以使用here描述的基于用户角色的授权。 如果使用默认的ASP角色系统,则需要向web.config中添加一些代码:

<location path="your_page"  >
    <system.web>
      <authorization>
        <deny users="?"/>
        <allow roles="Admin"/>            
      </authorization>
    </system.web>
  </location>