Is there anyone who has managed to make an application that perform a login action and keep the session of a user from a DocumentDB in asp.net mvc 5. I tried, but I didn't. I created a model MyUser.cs

public class MyUser
  {

    [JsonProperty(PropertyName = "id")]
    public string id { get; set; }

    [JsonProperty(PropertyName = "mail")]
    public string mail { get; set; }

    [JsonProperty(PropertyName = "password")]
    public string password { get; set; }
  }

A controller MyUserController

public class MyUserController : Controller
  {
    public ActionResult Index()
    {
      var client = DocumentDBRepository.InstantiatesClient();
      var database = DocumentDBRepository.ReadOrCreateDatabase("myDB");
      var collection = DocumentDBRepository.ReadOrCreateCollection(database.SelfLink, "myUsers");
      List<Server_MVC5.Models.MyUser> users = DocumentDBRepository.getMyUsers(collection);
      return View(users);
    }

    [HttpPost]
    [ValidateAntiForgeryToken]
    public async Task<ActionResult> Login([Bind(Include = "email,password")] Models.MyUser myuser)
    {
      if (ModelState.IsValid)
      {
        DocumentDBRepository.Login(myuser.mail, myuser.password);
        return RedirectToAction("Index");
      }

      return View(myuser);
    }

    public ActionResult Login(string email, string password)
    {
      if (email == null)
      {
        return HttpNotFound();
      }

      Models.MyUser myuser = DocumentDBRepository.Login(email, password);
      if (myuser == null)
      {
        return HttpNotFound();
      }

      return View("Index");
    }
  }

A view for login Login.cshtml

@using Server_MVC5.Models
@model LoginViewModel
@{
    ViewBag.Title = "Log in";
}

<h2>@ViewBag.Title.</h2>
<div class="row">
    <div class="col-md-8">
        <section id="loginForm">
            @using (Html.BeginForm("Login", "Account", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
            {
                @Html.AntiForgeryToken()
                <h4>Use a local account to log in.</h4>
                <hr />
                @Html.ValidationSummary(true, "", new { @class = "text-danger" })
                <div class="form-group">
                    @Html.LabelFor(m => m.Email, new { @class = "col-md-2 control-label" })
                    <div class="col-md-10">
                        @Html.TextBoxFor(m => m.Email, new { @class = "form-control" })
                        @Html.ValidationMessageFor(m => m.Email, "", new { @class = "text-danger" })
                    </div>
                </div>
                <div class="form-group">
                    @Html.LabelFor(m => m.Password, new { @class = "col-md-2 control-label" })
                    <div class="col-md-10">
                        @Html.PasswordFor(m => m.Password, new { @class = "form-control" })
                        @Html.ValidationMessageFor(m => m.Password, "", new { @class = "text-danger" })
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-md-offset-2 col-md-10">
                        <div class="checkbox">
                            @Html.CheckBoxFor(m => m.RememberMe)
                            @Html.LabelFor(m => m.RememberMe)
                        </div>
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-md-offset-2 col-md-10">
                        <input type="submit" value="Log in" class="btn btn-default" />
                    </div>
                </div>
                <p>
                    @Html.ActionLink("Register as a new user", "Register")
                </p>
                @* Enable this once you have account confirmation enabled for password reset functionality
                    <p>
                        @Html.ActionLink("Forgot your password?", "ForgotPassword")
                    </p>*@
            }
        </section>
    </div>
    <div class="col-md-4">
        <section id="socialLoginForm">
            @Html.Partial("_ExternalLoginsListPartial", new ExternalLoginListViewModel { ReturnUrl = ViewBag.ReturnUrl })
        </section>
    </div>
</div>

@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
}

I state that DocumentDBRepository is a repo that retrieve info from my DocumentDB Azure Db (it works properly). When I perform login, it returns ever failure despite the credentials are correct. Does anyone know how to help me ?

Related posts

Recent Viewed