protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            string token      = GetSession("token");
            var    personType = PersonType.Student;

            if (token != null)
            {
                personType = new ApiAccountController().GetPerson(TokenManager.TokenDictionaryHolder[token]).PersonType;
            }
            model.Token           = token;
            model.TokenPersonType = personType;
            if (!HasAccess(token, model.TokenPersonType, filterContext))
            {
                Session["redirect"]  = Url.Action(CurrentActionName, CurrentControllerName);
                filterContext.Result = RedirectToAction("Login", "Account");
            }
        }
Esempio n. 2
0
        public ApiAccountControllerTests()
        {
            _context = Helpers.GetContext("test");
            var tenantsDbContext = Helpers.GetTenantContext();

            _userManager = new Mock <FakeUserManager>();
            ITenantRepository                  tenantRepository  = new EntityTenantRepository(tenantsDbContext);
            IAsyncRepository <Setting>         settingRepository = new EfRepository <Setting>(_context);
            ISettingService                    settingService    = new SettingService(settingRepository);
            IAsyncRepository <ApplicationRole> roleRepository    = new EfRepository <ApplicationRole>(_context);
            var            roleService   = new RoleService(roleRepository);
            ITenantService tenantService = new TenantService(tenantRepository, settingService, roleService);

            var userList = new List <ApplicationUser>();

            _userManager.Setup(x => x.Users).Returns(userList.AsQueryable());
            _userManager.Setup(x => x.CreateAsync(It.IsAny <ApplicationUser>(), It.IsAny <string>()))
            .Callback(
                (ApplicationUser usr, string pass) =>
            {
                usr.Id = "2";
                userList.Add(usr);
            })
            .ReturnsAsync(IdentityResult.Success);
            var userRepository = new EntityUserRepository(_context, _userManager.Object);
            var userService    = new UserService(userRepository, null);
            var emailSender    = new Mock <IEmailSender>();
            var configMock     = new Mock <IConfiguration>();

            _accountLocalizerMock = new Mock <IStringLocalizer <ApiAccountController> >();
            var tenantProviderMock = new Mock <ITenantProvider>();

            tenantProviderMock.Setup(serv => serv.GetTenantId()).Returns("test");

            _controller = new ApiAccountController(tenantService, userService, _userManager.Object, emailSender.Object,
                                                   configMock.Object, _accountLocalizerMock.Object, tenantProviderMock.Object);
            var currentUser = new ApplicationUser
            {
                Email          = "*****@*****.**",
                FirstName      = "test",
                LastName       = "Test",
                CreatedAt      = DateTime.UtcNow,
                SecurityStamp  = new Guid().ToString(),
                EmailConfirmed = true,
                Id             = "1",
                IsDeleted      = false,
                UserDetail     = new UserDetail
                {
                    InitialAuthorityPercent = 0, AuthorityPercent = 30, LanguagePreference = "tr"
                }
            };

            _context.Users.Add(currentUser);
            _context.SaveChanges();
            tenantsDbContext.Tenants.Add(new Tenant
            {
                Id       = "test",
                HostName = "test.decidehub.com",
                Lang     = "tr"
            });
            tenantsDbContext.SaveChanges();
        }
Esempio n. 3
0
 public AccountController(ApiAccountController client)
 {
     _client = client;
 }