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);
            }

        }
    }
}

メンバー タイプの認証の 1 つで問題なく動作します。その他の場合、メンバーが認証された後、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 に答える