Ejemplo n.º 1
0
        public async Task <IActionResult> MailChangePassword(string returnUrl)
        {
            ChangePasswordVM model = new ChangePasswordVM();

            if (returnUrl != null)
            {
                string email = _encryptionService.Decrypt(returnUrl);
                var    user  = _accountBusiness.GetUserByEmail(email);
                model.Email    = user.Email;
                model.Password = user.Password;
                return(View(model));
            }
            return(View(model));
        }
Ejemplo n.º 2
0
        public override void OnActionExecuting(ActionExecutingContext context)
        {
            var controllerActionDescriptor = context.ActionDescriptor as ControllerActionDescriptor;

            if (controllerActionDescriptor.EndpointMetadata.Any(i => i.ToString() == "TBBProject.Admin.Web.Helpers.PageCheckAttribute"))
            {
                var userId = HttpContext.User.Identity.Name;
                if (userId != null)
                {
                    var value   = HttpContext.Session.GetString("SessionUser");
                    var request = context.HttpContext.Request;
                    List <BreadCrumbHelper> slcted = new List <BreadCrumbHelper>();
                    UserVM user = new UserVM();
                    if (value != null)
                    {
                        user = JsonConvert.DeserializeObject <UserVM>(value);
                    }
                    else
                    {
                        user = _accountBusiness.GetUserByEmail(userId);
                        var claims = new List <Claim>
                        {
                            new Claim(ClaimTypes.Name, user.Email),
                            new Claim(ClaimTypes.Locality, user.Language),
                        };
                        var roles = user.UserRoles.Split(',').ToList();
                        foreach (var item in roles)
                        {
                            claims.Add(new Claim(ClaimTypes.Role, item));
                        }
                        var             userIdentity = new ClaimsIdentity(claims, "login");
                        ClaimsPrincipal principal    = new ClaimsPrincipal(userIdentity);
                        HttpContext.SignInAsync(principal);
                        var serialised = JsonConvert.SerializeObject(user);
                        HttpContext.Session.SetString("SessionUser", serialised);
                        HttpContext.Session.SetString("ProjectCulture", user.Language);
                    }
                    var selectedMenu = user.Authoritys.Where(i => i.Url == request.Path.ToUriComponent()).FirstOrDefault();
                    if (selectedMenu != null)
                    {
                        ViewBag.LeftMenu       = MenuHelper.GetYetkiMenu(user.Authoritys, request.Path.ToUriComponent(), _localizer);
                        ViewBag.Title          = selectedMenu.Title;
                        ViewBag.Language       = user.Language;
                        ViewBag.Language       = user.Language;
                        ViewBag.LanguageStr    = "lib/kendoui/js/cultures/kendo.culture." + user.Language + ".min.js";
                        ViewBag.LanguageStrMsg = "lib/kendoui/js/messages/kendo.messages." + user.Language + ".min.js";

                        var selectedId = selectedMenu.Id;
                        var count      = 1;
                        if (selectedMenu.Url == "/")
                        {
                            var menuItem = user.Authoritys.Where(i => i.Url == request.Path.ToUriComponent()).FirstOrDefault();
                            slcted.Add(new BreadCrumbHelper {
                                Name = "Anasayfa", Url = menuItem.Url
                            });
                        }
                        else
                        {
                            count++;
                            var menuItem = user.Authoritys.Where(i => i.Url == request.Path.ToUriComponent()).FirstOrDefault();
                            slcted.Add(new BreadCrumbHelper {
                                Name = menuItem.BreadCrumb, Url = menuItem.Url
                            });
                            do
                            {
                                if (selectedId != null)
                                {
                                    var selectedparentId = user.Authoritys.Where(i => i.Id == selectedId).FirstOrDefault().ParentMenu;
                                    if (selectedparentId.HasValue)
                                    {
                                        var prntMenu = user.Authoritys.Where(i => i.Id == selectedparentId).FirstOrDefault();
                                        slcted.Add(new BreadCrumbHelper {
                                            Name = prntMenu.BreadCrumb, Url = prntMenu.Url
                                        });
                                        selectedId = selectedparentId.Value;
                                        count++;
                                    }
                                    else
                                    {
                                        selectedId = selectedparentId.HasValue ? selectedparentId.Value : 0;
                                    }
                                }
                                else
                                {
                                    selectedId = 0;
                                }
                            } while (selectedId != 0);
                            slcted.Add(new BreadCrumbHelper {
                                Name = "Anasayfa", Url = "/"
                            });
                        }
                        ViewBag.MenuRenk   = "gradient-45deg-indigo-blue";
                        ViewBag.BreadTexts = slcted;
                        ViewBag.BreadCount = count;
                    }
                    else
                    {
                        context.Result = new RedirectResult("/Account/AccessDenied");
                        return;
                    }
                }
            }
        }