C# 限制用户查看网站和文件夹

C# 限制用户查看网站和文件夹,c#,asp.net,C#,Asp.net,我正在用C制作一个asp.net网站,我在slq服务器上有一个数据库,其中有一个表用户(id、用户名、密码、isAdmin)。列isAdmin是int,具有默认值0,因此如果用户是admin,isAdmin=1elseisAdmin=0 我在网站上有一个登录表单,当用户登录时,它会创建一个会话(“admin”)或会话(“user”),具体取决于isAdmin值 那么,我如何将会话(“用户”)上的访问权限限制为admin.aspx页面和站点上的上载文件夹 我不想在IIS中添加角色管理,因为管理员可

我正在用C制作一个asp.net网站,我在slq服务器上有一个数据库,其中有一个表
用户(id、用户名、密码、isAdmin)
。列
isAdmin
int
,具有默认值
0
,因此如果用户是admin,
isAdmin=1
else
isAdmin=0

我在网站上有一个登录表单,当用户登录时,它会创建一个
会话(“admin”)
会话(“user”)
,具体取决于
isAdmin

那么,我如何将
会话(“用户”)
上的访问权限限制为
admin.aspx
页面和站点上的上载文件夹

我不想在IIS中添加角色管理,因为管理员可以让其他用户成为管理员(将
isAdmin
更新为
1


谢谢。

这种逻辑:

登录后,首先在会话变量中保存用户角色。 然后在受限页面的页面加载中,检查用户的角色,如果他不是管理员,则将他重定向到使用管理员帐户重新登录

protected void Page_Load(object sender, EventArgs e)
{
     if(session["role"].ToString().compareTo("admin")==0)
     {
     //load page stuff

     }
     else
     {
         Response.Redirect(your login page);
     }
}

在这种逻辑中:

登录后,首先在会话变量中保存用户角色。 然后在受限页面的页面加载中,检查用户的角色,如果他不是管理员,则将他重定向到使用管理员帐户重新登录

protected void Page_Load(object sender, EventArgs e)
{
     if(session["role"].ToString().compareTo("admin")==0)
     {
     //load page stuff

     }
     else
     {
         Response.Redirect(your login page);
     }
}

不要将标准用户和管理员保存在单独的会话变量中。而是创建一个映射到用户表的类,并以通用方式在其中存储用户信息。该类的一个属性是
.isAdmin
(整数或布尔值)。然后您可以简单地在“admin.aspx”中进行检查


不要将标准用户和管理员保存在单独的会话变量中。而是创建一个映射到用户表的类,并以通用方式在其中存储用户信息。该类的一个属性是
.isAdmin
(整数或布尔值)。然后您可以简单地在“admin.aspx”中进行检查


关闭IIS中的目录浏览。将其添加到web.config中,以防止用户浏览文件夹。这将在IIS 7中工作+

<configuration>
 <location path="Secured">
    <system.webServer>
      <directoryBrowse enabled="false" />
    </system.webServer>
  </location>
</configuration>

关闭IIS中的目录浏览。将其添加到web.config中,以防止用户浏览文件夹。这将在IIS 7中工作+

<configuration>
 <location path="Secured">
    <system.webServer>
      <directoryBrowse enabled="false" />
    </system.webServer>
  </location>
</configuration>


如果用户不是管理员,那么只需将他们重定向到另一个页面是的,这是我的方法,但您如何拒绝访问该文件夹?他可以将URL写入文件夹,并可以在受限页面的页面加载时浏览。检查我的答案。关闭目录浏览。请参阅我的答案。如果用户不是管理员,则只需将其重定向到另一个页面是的,这是我的方法,但您如何拒绝对文件夹的访问?他可以将URL写入文件夹,并可以在受限页面的页面加载时浏览。检查我的答案。关闭目录浏览。请看我的答案。这如何防止非管理员用户进入“admin.aspx”页面?他问了两个问题。一个是关于限制管理员页面(我在评论中回答了这个问题),两个是关于限制对文件夹的访问。请参阅原始帖子中的评论。他接受了这个答案,因为这才是他真正想要的答案。这如何防止非管理员用户进入“admin.aspx”页面?他问了两个问题。一个是关于限制管理员页面(我在评论中回答了这个问题),两个是关于限制对文件夹的访问。请参阅原始帖子中的评论。他接受了这个答案,因为这才是他真正想要的答案。