response.redirect不使用文件夹

时间:2012-10-15 18:16:38

标签: c# asp.net url login response.redirect

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>

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

2 个答案:

答案 0 :(得分:1)

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

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

这可以解决您的问题,

答案 1 :(得分: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