我创建了一个仅供管理员使用的登录页面(因此无需检查用户是否为管理员)。该页面针对存储用户名和密码的数据库进行检查。我能够成功检查数据库的名称/密码,然后将用户转移到管理页面,但是,我注意到我仍然可以输入http://localhost:xxxxx/AdminPage,它将带我到那里。如何阻止人们这样做?我试过添加
<authorization><deny users="?"/></authorization>
到web.config文件,它阻止所有匿名用户进入,但现在我需要知道如何允许数据库中的用户获得权限。 (注意:这不是正常的登录默认设置。这是指向默认以外的页面)
答案 0 :(得分:1)
您可以使用here描述的基于用户角色的授权。 如果使用默认的ASP角色系统,则需要向web.config中添加一些代码:
<location path="your_page" >
<system.web>
<authorization>
<deny users="?"/>
<allow roles="Admin"/>
</authorization>
</system.web>
</location>