public ActionResult RenderLogin()
        {
            ForumLoginViewModel login = new ForumLoginViewModel();

            Logger.Info <ForumAuthSurfaceController>("Login URL: {0}", HttpContext.Request.Url?.AbsolutePath);

            login.ReturnUrl = HttpContext.Request.Url?.ToString();
            if (HttpContext.Request.Url?.AbsolutePath == Umbraco.GetDictionaryValue("ForumAuthConstants.LoginUrl", "/login").TrimEnd('/'))
            {
                login.ReturnUrl = "/forums";
            }

            return(PartialView(Umbraco.GetDictionaryValue("ForumAuthConstants.LoginView", "Member/ForumAuth.Login"), login));
        }
        public ActionResult HandleLogin(ForumLoginViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(CurrentUmbracoPage());
            }


            if (Members.IsLoggedIn())
            {
                return(RedirectToRoute(model.ReturnUrl));
            }

            // login in the user
            try
            {
                if (Members.Login(model.EmailAddress, model.Password))
                {
                    // logged in
                    var member = Members.GetByEmail(model.EmailAddress);


                    if (member != null)
                    {
                        if (member.Value <bool>(ForumAuthConstants.AccountVerifiedProperty))
                        {
                            // a valid and verified user here be!
                            TempData["returnUrl"] = model.ReturnUrl;
                            return(RedirectToCurrentUmbracoPage());
                        }
                        else
                        {
                            // we need to validate this account before they can logon.
                            ModelState.AddModelError(ForumAuthConstants.LoginKey,
                                                     Umbraco.GetDictionaryValue("MemberAuth.Login.NotVerified", "Email has not been verified"));

                            Members.Logout();
                            return(CurrentUmbracoPage());
                        }
                    }
                    else
                    {
                        // can't find the user...?
                        ModelState.AddModelError(ForumAuthConstants.LoginKey,
                                                 Umbraco.GetDictionaryValue("MemberAuth.Login.NoUser", "Invalid Details"));
                    }
                }
                else
                {
                    // can't login this person...
                    ModelState.AddModelError(ForumAuthConstants.LoginKey,
                                             Umbraco.GetDictionaryValue("MemberAuth.Login.LoginFail", "Invalid Details"));
                }
            }
            catch (Exception ex)
            {
                // somethig big time went boom...
                Logger.Error <ForumAuthSurfaceController>("Error logging on {0}", ex.ToString());
                ModelState.AddModelError(ForumAuthConstants.LoginKey, "Error logging on" + ex);
            }

            return(CurrentUmbracoPage());
        }