private async Task RefreshUserClaims(DotUser dotUser)
 {
     if (dotUser != null)
     {
         await _signInManager.SignInAsync(dotUser, true, false);
     }
 }
Esempio n. 2
0
        private string GetResetPasswordMessageContent(DotUser dotUser, string resetToken, string subject)
        {
            dynamic mail = new ExpandoObject();

            mail.Subject = subject;

            mail.Name = dotUser.Name;

            mail.Link = Url.Action(nameof(UsersController.ResetPasswordCallback), nameof(UsersController).RemoveControllerSuffix(), new {
                userId     = dotUser.Id,
                resetToken = resetToken
            }, protocol: Request.Url.Scheme);

            return(RenderViewToString("~/Views/Users/_Emails/ResetPasswordTemplate.cshtml", model: mail));
        }
        public async Task <ActionResult> RegisterNewUser(UserRegisterViewModel model)
        {
            //if (Request.IsAuthenticated)
            //	return GetDefaultRedirectRoute();

            model.TermsOfUse = true;

            if (ModelState.IsValid)
            {
                var user = new DotUser
                {
                    Name               = model.Name,
                    Email              = model.Email,
                    Realm              = Entities.Realm.BG,
                    UserName           = model.Name,           //Entities.User.GenerateUserName(model.Name),
                    CurrentCultureId   = Globalization.RegionCulture.Name,
                    CurrentUICultureId = Globalization.LanguageCulture.Name,
                    TimeZoneId         = Globalization.TimeZoneInfo.Id
                };

                if (ModelState.IsValid)
                {
                    var result = await _userManager.CreateAsync(user, model.Password);

                    if (result.Succeeded)
                    {
                        // await _signInManager.SignInAsync(user, isPersistent: true, rememberBrowser: false);

                        // Get user data.
                        var entity = await _userManager.FindByNameAsync(user.Email);

                        // Register account creation.
                        _timelineService.RegisterActivity(Entities.Realm.BG, Entities.ActivityType.CreatedItsOwnAccount, entity.Id);

                        // return  RedirectToLocal();

                        return(RedirectToAction("Users", nameof(PlatformController).RemoveControllerSuffix()));
                    }

                    AddErrors(result);
                }
            }

            return(View(model));
        }
Esempio n. 4
0
        public async Task <ActionResult> RegisterByAD(string AD_userName)
        {
            if (Request.IsAuthenticated)
            {
                return(GetDefaultRedirectRoute());
            }


            var user = new DotUser
            {
                Name               = AD_userName,
                Email              = AD_userName + "@_",
                Realm              = Entities.Realm.BG,
                UserName           = AD_userName, //AD_userName, //Entities.User.GenerateUserName(model.Name),
                CurrentCultureId   = "ru-RU",     //Globalization.RegionCulture.Name,
                CurrentUICultureId = "ru-RU",     //Globalization.LanguageCulture.Name,
                TimeZoneId         = Globalization.TimeZoneInfo.Id
            };


            var result = await _userManager.CreateAsync(user, "password");

            if (result.Succeeded)
            {
                await _signInManager.SignInAsync(user, isPersistent : true, rememberBrowser : false);

                // Get user data.
                //var entity = await _userManager.FindByNameAsync(user.Email);
                var entity = await _userManager.FindByNameAsync(user.UserName);


                // Register account creation.
                _timelineService.RegisterActivity(Entities.Realm.BG, Entities.ActivityType.CreatedItsOwnAccount, entity.Id);

                return(RedirectToLocal());
            }

            AddErrors(result);



            //return View();
            return(RedirectToLocal());
        }