0

我使用 C# 和 ASP.NET。我的网站上有这个文件结构:

~\Admin\SecuredFolder\ManageWebsite.aspx
~\Admin\Login.aspx
~\Homepage.aspx

我想要实现的目标非常简单,但我想到目前为止我所有的尝试都太复杂了,我有点困惑。

我的目标:

  • Homepage.aspxLogin.aspx应该对所有人(匿名用户)公开
  • SecuredFolder仅适用于登录用户(即:管理员用户)。任何试图访问此文件夹中的任何页面(未登录)的人都应该被重定向到登录页面。
  • 一旦登录成功,它将成功重定向到ManageWebsite.aspx

我知道这应该是一个简单的实现,但我觉得我还没有正确地内化它。

希望你们中的任何人都可以给我一个例子。

4

3 回答 3

1

将此 webconfig 放在安全文件夹中~\Admin\SecuredFolder\

<?xml version="1.0"?>
<configuration>

  <system.web>
    <authorization>
      <allow roles="admin" />
      <deny users="?"/>
    </authorization>
  </system.web>

</configuration>

把它放在根文件夹的webconfig中~\

 <authentication mode="Forms">
      <forms loginUrl="~/Admin/Login.aspx" timeout="2880" />
    </authentication>
  <location>
    <system.web>
      <authorization>

        <allow users="*"/>

      </authorization>
    </system.web>
  </location>
于 2013-09-06T09:46:08.877 回答
0

到您的根 web.config 添加这些以使主页和登录 aspx 页面公开

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

在 Secure 文件夹中添加一个 web.config 文件,然后添加这些文件以允许其中的所有内容SecuredFolder只能由Admin角色访问

  <authorization>
    <allow roles="Admin"/>
    <deny users="*"/>
  </authorization>

认证成功后,在Login.aspx中查看users的角色,如果是of的角色Admin,将他重定向到ManageWebsite.aspx page

于 2013-09-06T08:57:54.403 回答
0

在 SecuredFolder 中放置一个 web.config并添加

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.web>
        <authorization>
          <allow roles="admin" />
          <deny users ="*" />
        </authorization>
    </system.web>
</configuration>

现在它将只允许登录(管理员)用户访问其内容。

您还可以添加<authentication>到您的根 web.config以自动将未经授权的用户重定向到登录页面。

<authentication mode="Forms">
<forms loginUrl="~\Admin\Login.aspx" timeout="20" slidingExpiration="true" cookieless="AutoDetect" protection="All" requireSSL="false" enableCrossAppRedirects="false" defaultUrl="Homepage.aspx" path="/"/>
</authentication>
于 2013-09-06T09:16:25.573 回答