public async Task <ActionResult> Create(CreateViewModel model) { if (!ModelState.IsValid) { model.RoleList = await _roleService.GetAsync(); return(View("_Create", model)); } var pageId = await _pageService.AddAsync(model.PageName, model.PageArea, model.PageController, model.PageAction); await _pageService.RolesAsync(pageId, model.SelectedRoleList); var token = await _tokenService.AddAsync(UserHelper.EmailAddress, UserTokenType.SSO); var cookie = new HttpCookie("PortalCMS_SSO", string.Join(",", UserHelper.UserId, HttpContext.Request.Url.AbsoluteUri, token)) { Expires = DateTime.Now.AddMinutes(5) }; ControllerContext.HttpContext.Response.Cookies.Add(cookie); HttpRuntime.UnloadAppDomain(); return(Content("SSO")); }
public async Task <ActionResult> Forgot(LoginViewModel model) { var token = await _tokenService.AddAsync(model.EmailAddress, UserTokenType.ForgottenPassword); if (!string.IsNullOrWhiteSpace(token)) { var websiteName = SettingHelper.Get("Website Name"); var recoveryLink = $@"http://{System.Web.HttpContext.Current.Request.Url.Authority}{Url.Action(nameof(Reset), "Recovery", new { area = "Authentication", id = token })}"; await EmailHelper.SendEmailAsync(model.EmailAddress, "Password Reset", $"<p>You submitted a request on {websiteName} for assistance in resetting your password. To change your password please click on the link below and complete the requested information.</p><a href=\"{recoveryLink}\">Recover Account</a>"); } return(Content("Refresh")); }