Advertisement
Guest User

Untitled

a guest
Jul 25th, 2016
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.54 KB | None | 0 0
  1. @using (Ajax.BeginForm("LogInUser", "api/User", new AjaxOptions { HttpMethod = "GET", OnComplete = "OnLogInCompleted", LoadingElementId = "loadingImage" }))
  2. {
  3. <fieldset class="login-form-box">
  4. <table>
  5. <tr>
  6. <td class="login-label-box">@Html.Label("Username")</td>
  7. <td class="login-label-box">@Html.Label("Password")</td>
  8. <td></td>
  9. </tr>
  10. <tr>
  11. <td >@Html.TextBox("username", null, new {@class = "login-inout"})</td>
  12. <td>@Html.Password("password", null, new {@class = "login-inout"})</td>
  13. <td><input type="submit" value="LogIn" /></td>
  14. </tr>
  15. <tr>
  16. <td></td>
  17. <td></td>
  18. <td>@Ajax.ActionLink("Register", "MainBodyContentPartial",
  19. new AjaxOptions() { UpdateTargetId = "contentBox", InsertionMode = InsertionMode.Replace,
  20. HttpMethod = "GET", OnComplete = "OnContentChanged" })</td>
  21. </tr>
  22. </table>
  23. </fieldset>
  24. }
  25.  
  26. [HttpGet]
  27. [Route("LogInUser")]
  28. [System.Web.Mvc.RequireHttps]
  29. public User LogInUser(string username, string password)
  30. {
  31. if(username == null || password == null)
  32. {
  33. return null;
  34. }
  35. string hashedPassword = GetHashString(password);
  36. var selectedUser = DatabaseService.Inst.GetUserByUsernameAndPassword(username, hashedPassword);
  37. if(selectedUser == null)
  38. {
  39. return null;
  40. }
  41.  
  42. FormsAuthentication.SetAuthCookie(username, true);
  43. if (!Roles.IsUserInRole(selectedUser.Role))
  44. {
  45. var userRoles = Roles.GetRolesForUser(selectedUser.Username);
  46. if (userRoles != null && userRoles.Any())
  47. {
  48. Roles.RemoveUserFromRoles(selectedUser.Username, userRoles);
  49. }
  50. Roles.AddUserToRole(selectedUser.Username, selectedUser.Role);
  51. }
  52.  
  53. selectedUser.Password = "";
  54. return selectedUser;
  55. }
  56.  
  57. function OnLogInCompleted(result) {
  58. displayWaiting();
  59. var loggedUser = result.responseJSON;
  60. if (!loggedUser) {
  61. DisplayStatusMessage("Login failed.");
  62. return;
  63. }
  64. DisplayStatusMessage("You are logged in as " + loggedUser.Username);
  65.  
  66. $('#MainLoginFormBox').load(url + '/Content/LoggedUserContentPartial');
  67. $('#navigationMenu').load(url + '/Content/UserMenuContentPartial');
  68. $('#contentBox').load(url + '/Content/UserHomeContentPartial');
  69. OnContentChanged();
  70. hideWaiting();
  71. return;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement