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 :
ma fonction javascript :
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>
Mon Controlleur :
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; }); });
Alors premier souci, Request.IsAjaxRequest() est égale à false alors que je m'attendais à ce qu'il soit à true.
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); }
Ensuite au niveau du contrôleur si je passe dansdans ce cas je reviens vers la page d'authentificationreturn PartialView(model);
si je fais, mon site plante, la div dialog me disant qu'elle attend un model de type LogOnModel et non pas de type DossierModel.return RedirectToAction("Detail", "Dossier");
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
Partager