Bonjour à tous.

J'essaie tant bien que mal d'afficher une fenêtre modal pour m'authentifier.
De plus une fois authentifié je dois rediriger l'utilisateur vers son dossier

Voila ce que j'ai codé :

dans ma master page :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
 
<li><%: Html.ActionLink(SiteResources.Connect, MVC.Account.ActionNames.LogOn, MVC.Account.Name, null, new { @class = "logOnModal"}) %></li>
 
<div id="dialog" class="divHidden">
        <% Html.RenderPartial(MVC.Account.Views.LogOnUserControl); %>
</div>
ma fonction javascript :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
$().ready(function () {
    $(".logOnModal").click(function () {
            $("#dialog").dialog(
                {
                    modal: true,
                    close: function (event, ui) { window.location.href = '/Dossier/Detail'; }
                }
            );
            return false;
        });
});
Mon Controlleur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
[HttpPost]
        public virtual ActionResult LogOn(LogOnModel model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    UserConnected userConnected = UserService.Validate(model.UserName, model.Password);
                    if (userConnected != null)
                    {
                        FormsService.SignIn(model.UserName, model.RememberMe);
                        SessionHelper.CurrentUserConnected = userConnected;
                        if (Request != null && Request.IsAjaxRequest())
                        {
                            return PartialView(model);
                        }
                        else
                        {
                            //eturn View();
                            return RedirectToAction("Detail", "Dossier");
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", AccountResources.LoginErrorMessage);
                    }
                }
                catch (Exception ex)
                {
                    Log.Error(ex);
                    return View(MVC.Shared.Views.Error);
                }
            }
            return PartialView(model);
        }
Alors premier souci, Request.IsAjaxRequest() est égale à false alors que je m'attendais à ce qu'il soit à true.

Ensuite au niveau du contrôleur si je passe dans
return PartialView(model);
dans ce cas je reviens vers la page d'authentification

si je fais
return RedirectToAction("Detail", "Dossier");
, mon site plante, la div dialog me disant qu'elle attend un model de type LogOnModel et non pas de type DossierModel.

La seule partie qui fonctionne a peu près correctement c'est lorsque l'utilisateur se fait jeter à l'authentification. Dans ce cas je suis redirigé vers la page d'authentification avec un message d'avertissement sauf que je n'ai plus la modal.

Donc pourriez vous m'aider à créer une fenêtre modal qui me permettrait de :

1/ authentifier l'utilisateur et le rediriger vers son dossier
2/ indiquer à l'utilisateur qu'il n' pas réussi à s'authentifier dans la fenêtre modal.

Merci d'avance de vos réponses