Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# response.redirect不使用文件夹_C#_Asp.net_Url_Login_Response.redirect - Fatal编程技术网

C# response.redirect不使用文件夹

C# response.redirect不使用文件夹,c#,asp.net,url,login,response.redirect,C#,Asp.net,Url,Login,Response.redirect,response.redirect不工作。我使用的是Visual Studio.net,它可以在没有文件夹的情况下工作,但我正在执行角色和权限,因此我需要为其创建文件夹。为什么我的url不起作用?在目录中时无法获取要显示的页面 protected void Login1_Authenticate(object sender, AuthenticateEventArgs e) { if (Membership.ValidateUser(Login1.UserName,

response.redirect不工作。我使用的是Visual Studio.net,它可以在没有文件夹的情况下工作,但我正在执行角色和权限,因此我需要为其创建文件夹。为什么我的url不起作用?在目录中时无法获取要显示的页面

  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>


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

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

  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");
        }
    }
  <location path="IALOPages">
    <system.web>
      <authorization>
          <deny users="*" />
          <allow roles="CEO" />
      </authorization>
    </system.web>
  </location>


这将解决您的问题,

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

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


您在web.config中做了什么…请发布代码这些文件夹和页面存在吗?抛出错误?如果页面不在文件夹中,则可以正常工作,但我需要为角色杠杆访问设置页面