Пример #1
0
 public SearchResultService(ISearchResultRepository repository, IPluginEngine pluginEngine, IModulesLoaded modules, OxiteContext context)
 {
     this.repository = repository;
     this.pluginEngine = pluginEngine;
     this.cache = modules.GetModules<IOxiteCacheModule>().Reverse().First();
     this.context = context;
 }
Пример #2
0
        public void OnActionExecuted(ActionExecutedContext filterContext)
        {
            OxiteViewModel model = filterContext.Controller.ViewData.Model as OxiteViewModel;

            if (model != null)
            {
                IEnumerable <IOxiteAuthenticationModule> authenticationModules = modules.GetModules <IOxiteAuthenticationModule>().Reverse();
                IUser user = null;

                foreach (IOxiteAuthenticationModule module in authenticationModules)
                {
                    user = module.GetUser(filterContext.RequestContext);

                    if (user.IsAuthenticated)
                    {
                        break;
                    }
                }

                if (user.IsAuthenticated)
                {
                    model.AddModelItem(new UserViewModel(user));
                    //TODO: (erikpo) Change this to call the sign out url of the auth module that retrieved the user
                    model.AddModelItem(new MembershipUrlViewModel(null, authenticationModules.First().GetSignOutUrl(filterContext.RequestContext)));
                }
                else
                {
                    model.AddModelItem(new UserViewModel(filterContext.HttpContext.Request.Cookies.GetAnonymousUser()));
                    //TODO: (erikpo) Change the following so if there's more than one auth module show a generic sign in page, if there's only one auth module, then use its sign in url
                    model.AddModelItem(new MembershipUrlViewModel(authenticationModules.First().GetSignInUrl(filterContext.RequestContext), null));
                }
            }
        }
Пример #3
0
        public void OnActionExecuted(ActionExecutedContext filterContext)
        {
            OxiteViewModel model = filterContext.Controller.ViewData.Model as OxiteViewModel;

            if (model != null)
            {
                IEnumerable <IOxiteAuthenticationModule> authenticationModules = modules.GetModules <IOxiteAuthenticationModule>().Reverse();
                IUser user = null;

                foreach (IOxiteAuthenticationModule module in authenticationModules)
                {
                    user = module.GetUser(filterContext.RequestContext);

                    if (user.IsAuthenticated)
                    {
                        break;
                    }
                }

                if (user.IsAuthenticated)
                {
                    model.User       = new UserViewModel(user);
                    model.SignInUrl  = null;
                    model.SignOutUrl = authenticationModules.First().GetSignOutUrl(filterContext.RequestContext);
                }
                else
                {
                    model.User       = new UserViewModel(filterContext.HttpContext.Request.Cookies.GetAnonymousUser());
                    model.SignInUrl  = authenticationModules.First().GetSignInUrl(filterContext.RequestContext);
                    model.SignOutUrl = null;
                }
            }
        }
Пример #4
0
 public ScheduleItemService(IScheduleItemRepository repository, ITagService tagService, ICommentService commentService, IModulesLoaded modules, OxiteContext context)
 {
     this.repository     = repository;
     this.tagService     = tagService;
     this.commentService = commentService;
     cache        = modules.GetModules <IOxiteCacheModule>().Reverse().First();
     this.context = context;
 }
Пример #5
0
 public BlogService(IBlogRepository repository, IValidationService validator, IPluginEngine pluginEngine, IModulesLoaded modules, OxiteContext context)
 {
     this.repository   = repository;
     this.validator    = validator;
     this.pluginEngine = pluginEngine;
     this.cache        = modules.GetModules <IOxiteCacheModule>().Reverse().First();
     this.context      = context;
 }
Пример #6
0
        public SiteService(ISiteRepository repository, IValidationService validator, IModulesLoaded modulesLoaded, AppSettingsHelper appSettings)
        {
            IEnumerable <IOxiteCacheModule> modules = modulesLoaded.GetModules <IOxiteCacheModule>();

            this.repository  = repository;
            this.validator   = validator;
            this.cache       = modules != null && modules.Count() > 0 ? modules.Reverse().First() : null;
            this.appSettings = appSettings;
        }
Пример #7
0
        public static void LoadCatchAllFromModules(this RouteCollection routes, IModulesLoaded modulesLoaded)
        {
            IEnumerable <IOxiteModule> modules = modulesLoaded.GetModules().Reverse();

            foreach (IOxiteModule module in modules)
            {
                module.RegisterCatchAllRoutes(routes);
            }
        }
Пример #8
0
        public SiteService(ISiteRepository repository, IValidationService validator, IModulesLoaded modulesLoaded, OxiteConfigurationSection config)
        {
            IEnumerable <IOxiteCacheModule> modules = modulesLoaded.GetModules <IOxiteCacheModule>();

            this.repository = repository;
            this.validator  = validator;
            this.cache      = modules != null && modules.Count() > 0 ? modules.Reverse().First() : null;
            this.config     = config;
        }
Пример #9
0
 public PluginService(IPluginRepository repository, IValidationService validator, IPluginEngine pluginEngine, IModulesLoaded modules, PluginTemplateRegistry pluginTemplateRegistry, PluginStyleRegistry pluginStyleRegistry, PluginScriptRegistry pluginScriptRegistry, OxiteContext context)
 {
     this.repository             = repository;
     this.validator              = validator;
     this.pluginEngine           = pluginEngine;
     this.cache                  = modules.GetModules <IOxiteCacheModule>().Reverse().First();
     this.modules                = modules;
     this.pluginTemplateRegistry = pluginTemplateRegistry;
     this.pluginStyleRegistry    = pluginStyleRegistry;
     this.pluginScriptRegistry   = pluginScriptRegistry;
     this.context                = context;
 }
Пример #10
0
 public PostService(IPostRepository repository, ITrackbackOutboundRepository trackbackOutboundRepository, UrlHelper urlHelper, IRegularExpressions expressions, IValidationService validator, IPluginEngine pluginEngine, ITagService tagService, ICommentService commentService, IModulesLoaded modules, OxiteContext context)
 {
     this.repository = repository;
     this.trackbackOutboundRepository = trackbackOutboundRepository;
     this.urlHelper      = urlHelper;
     this.expressions    = expressions;
     this.validator      = validator;
     this.pluginEngine   = pluginEngine;
     this.tagService     = tagService;
     this.commentService = commentService;
     this.cache          = modules.GetModules <IOxiteCacheModule>().Reverse().First();
     this.context        = context;
 }
Пример #11
0
 public BlogsCommentService(ICommentRepository commentRepository, IBlogsCommentRepository blogsCommentRepository, IPostRepository postRepository, ILanguageRepository languageRepository, ILocalizationRepository localizationRepository, IMessageOutboundRepository messageOutboundRepository, UrlHelper urlHelper, IValidationService validator, IPluginEngine pluginEngine, IModulesLoaded modules, OxiteContext context)
 {
     this.commentRepository         = commentRepository;
     this.blogsCommentRepository    = blogsCommentRepository;
     this.postRepository            = postRepository;
     this.languageRepository        = languageRepository;
     this.localizationRepository    = localizationRepository;
     this.messageOutboundRepository = messageOutboundRepository;
     this.urlHelper    = urlHelper;
     this.validator    = validator;
     this.pluginEngine = pluginEngine;
     this.cache        = modules.GetModules <IOxiteCacheModule>().Reverse().First();
     this.context      = context;
 }
 public ConferencesCommentService(IConferencesCommentRepository conferencesCommentRepository, ICommentRepository commentRepository, IScheduleItemRepository scheduleItemRepository, IMessageOutboundRepository messageOutboundRepository, ILanguageRepository languageRepository, ILocalizationRepository localizationRepository, AbsolutePathHelper absolutePathHelper, IValidationService validator, IPluginEngine pluginEngine, IModulesLoaded modules, OxiteContext context)
 {
     this.conferencesCommentRepository = conferencesCommentRepository;
     this.commentRepository            = commentRepository;
     this.scheduleItemRepository       = scheduleItemRepository;
     this.messageOutboundRepository    = messageOutboundRepository;
     this.languageRepository           = languageRepository;
     this.localizationRepository       = localizationRepository;
     this.absolutePathHelper           = absolutePathHelper;
     this.validator    = validator;
     this.pluginEngine = pluginEngine;
     this.cache        = modules.GetModules <IOxiteCacheModule>().Reverse().First();
     this.context      = context;
 }
        public void OnAuthorization(AuthorizationContext filterContext)
        {
            string role         = filterContext.RouteData.Values["role"] as string;
            bool   isAuthorized = true;

            if (!string.IsNullOrEmpty(role))
            {
                IEnumerable <IOxiteAuthenticationModule> authenticationModules = modules.GetModules <IOxiteAuthenticationModule>().Reverse();
                IUser user = null;

                foreach (IOxiteAuthenticationModule module in authenticationModules)
                {
                    user = module.GetUser(filterContext.RequestContext);

                    if (user.IsAuthenticated)
                    {
                        if (!user.IsInRole(role))
                        {
                            isAuthorized = false;
                        }

                        break;
                    }
                }

                if (!user.IsAuthenticated)
                {
                    string signInUrl = authenticationModules.First().GetSignInUrl(filterContext.RequestContext);

                    if (!filterContext.HttpContext.Request.IsJQueryAjaxRequest())
                    {
                        filterContext.Result = new RedirectResult(signInUrl);
                    }
                    else
                    {
                        filterContext.Result = new JsonResult {
                            Data = new AjaxRedirect(signInUrl)
                        }
                    };
                }
            }

            if (!isAuthorized)
            {
                filterContext.Result = new UnauthorizedResult();
            }
        }

        #endregion
    }
Пример #14
0
        public void OnAuthorization(AuthorizationContext filterContext)
        {
            IEnumerable <IOxiteAuthenticationModule> authenticationModules = modules.GetModules <IOxiteAuthenticationModule>().Reverse();
            IUser user = null;

            foreach (IOxiteAuthenticationModule module in authenticationModules)
            {
                user = module.GetUser(filterContext.RequestContext);

                if (user.IsAuthenticated)
                {
                    break;
                }
            }

            if (user == null)
            {
                filterContext.Result = new RedirectResult(authenticationModules.First().GetSignInUrl(filterContext.RequestContext));
            }
        }
Пример #15
0
        private void OxiteApplication_AcquireRequestState(object sender, EventArgs e)
        {
            MvcHandler handler = Context.Handler as MvcHandler;

            if (handler != null)
            {
                RequestContext requestContext = handler.RequestContext;

                if (requestContext != null)
                {
                    IUnityContainer container = ((IUnityContainer)Application["container"]);

                    if (container != null)
                    {
                        IModulesLoaded modules = container.Resolve <IModulesLoaded>();

                        if (modules != null)
                        {
                            IUser user = new UserAnonymous();

                            foreach (IOxiteAuthenticationModule module in modules.GetModules <IOxiteAuthenticationModule>().Reverse())
                            {
                                user = module.GetUser(requestContext);

                                if (user.IsAuthenticated)
                                {
                                    break;
                                }
                            }

                            Context.Items[typeof(Site).FullName]           = container.Resolve <ISiteService>().GetSite();
                            Context.Items[typeof(IUser).FullName]          = user;
                            Context.Items[typeof(RequestContext).FullName] = requestContext;
                        }
                    }
                }
            }
        }
        public void Execute(IDictionary <string, object> state)
        {
            //TODO: (erikpo) Change the following to load up background services that are registered in Oxite.config instead of just looking in modules since they can be anywhere
            IModulesLoaded             modulesLoaded = container.Resolve <IModulesLoaded>();
            IBackgroundServiceRegistry backgroundServicesRegistry = this.container.Resolve <BackgroundServiceRegistry>();

            foreach (IOxiteModule module in modulesLoaded.GetModules())
            {
                IOxiteBackgroundService backgroundServices = module as IOxiteBackgroundService;

                if (backgroundServices != null)
                {
                    backgroundServices.RegisterBackgroundServices(backgroundServicesRegistry);
                }
            }

            container.RegisterInstance(backgroundServicesRegistry);

            foreach (IBackgroundServiceExecutor executor in backgroundServicesRegistry.GetBackgroundServices())
            {
                executor.Start();
            }
        }
Пример #17
0
 public EventService(IEventRepository repository, IModulesLoaded modules, OxiteContext context)
 {
     this.repository = repository;
     this.cache      = modules.GetModules <IOxiteCacheModule>().Reverse().First();
     this.context    = context;
 }