Example #1
0
        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"));
        }