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"); } }
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(); }
public AccountController(ApiAccountController client) { _client = client; }