0

response.redirect 不起作用。我正在使用 Visual Studios .net 它在没有文件夹的情况下工作,但我正在做角色和权限,所以我需要为此创建文件夹。为什么我的网址不起作用?在目录中时无法显示要显示的页面。

  protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
    {

        if (Membership.ValidateUser(Login1.UserName, Login1.Password) == true)
        {
            Login1.Visible = true;
            Session["user"] = User.Identity.Name;
            FormsAuthentication.RedirectFromLoginPage(Login1.UserName, true);
           // Response.Redirect("");
            if (Roles.IsUserInRole(Login1.UserName, "CEO"))
            {
                Response.Redirect("~/CEOPages/CEO.aspx");
            }
            else if (Roles.IsUserInRole(Login1.UserName, "IALO"))
            {
                Response.Redirect("~/IALOPages/IALO.aspx");
            }
            else if (Roles.IsUserInRole(Login1.UserName, "Staff"))
            {
                Response.Redirect("~/Staff Pages/Staff.aspx");
            }

        }
        else
        {
            Response.Write("Invalid Login");
        }
    }

这是文件夹配置文件

 <configuration>
     <system.web>
         <authorization>
              <deny users="*" />
              <allow roles="CEO" />
              <deny roles="Staff" />
              <deny roles="IALO" />
          </authorization>
      </system.web>
  </configuration>

尝试访问文件夹中的页面时出现错误。我将它们从文件夹中删除,并使用基于这些页面上的凭据的表单身份验证拒绝访问。如果它们在目录中,您如何显示页面。

4

2 回答 2

1

您需要在 web.config 中指定每个文件夹;

  <location path="IALOPages">
    <system.web>
      <authorization>
          <deny users="*" />
          <allow roles="CEO" />
      </authorization>
    </system.web>
  </location>

这应该可以解决您的问题,

于 2012-10-15T18:54:52.703 回答
0

允许条目应该在拒绝条目之前,如下所示:

<configuration>
     <system.web>
         <authorization>
              <allow roles="CEO" />
              <deny roles="Staff" />
              <deny roles="IALO" />
              <deny users="*" />
          </authorization>
      </system.web>
</configuration>

来自 MSDN:“在运行时,授权模块迭代允许和拒绝元素,从最本地的配置文件开始,直到授权模块找到适合特定用户帐户的第一个访问规则。然后,授权模块授予或根据找到的第一个访问规则是允许规则还是拒绝规则,拒绝访问 URL 资源。”

http://msdn.microsoft.com/en-us/library/8d82143t%28v=vs.80%29.aspx

于 2012-10-16T19:22:36.410 回答