0

我的 Umbraco 网站有 2 种会员类型。我制作了一个自定义登录表单,用于检查凭据并验证成员身份。这是我的 Umbraco 剃须刀控制代码:

@using umbraco.MacroEngines;

@{
    if (Request.HttpMethod.ToLower() == "post")
    {
        if (!string.IsNullOrEmpty("username") && !string.IsNullOrEmpty("password"))
        {
            string username = Request["username"];
            string password = Request["password"];
            var isValid = Membership.ValidateUser(username, password);
            if (isValid)
            {
                FormsAuthentication.SetAuthCookie(username, true);

                //FormsAuthentication.RedirectFromLoginPage(username, true);
                Response.Redirect(new DynamicNode(2431).Url, true);
            }

        }
    }
}

对于其中一种成员类型,身份验证工作得很好。对于其他,在成员通过身份验证后,Umbraco 运行脚本 \App_Data\TEMP\Razor\inline-6ff314cb99b9da6a178f3b2d31bc709e.cshtml。该脚本具有以下代码:

@{
        FormsAuthentication.SignOut();

        // Drop all the information held in the session
        Session.Clear();
        Session.Abandon();

        // clear authentication cookie
        HttpCookie cookie1 = new HttpCookie(FormsAuthentication.FormsCookieName, "");
        cookie1.Expires = DateTime.Now.AddYears(-1);
        Response.Cookies.Add(cookie1);

        // clear session cookie
        HttpCookie cookie2 = new HttpCookie("ASP.NET_SessionId", "");
        cookie2.Expires = DateTime.Now.AddYears(-1);
        Response.Cookies.Add(cookie2);

        // Redirect the user to the login page
        Response.Redirect("login.aspx", true);
  }

当然,在触发此脚本后,我的成员已注销。为什么会触发此脚本,我该如何停止它?

我当前的 Umbraco 版本是 4.11.3。我认为重要的是要提到它曾经是 4.7.0 并且我升级了。

4

1 回答 1

0

问题不在于 Umbraco 或成员资格。它与我的自定义成员对象有关。

于 2013-01-22T10:05:28.350 回答