/// <summary> /// Gets the page authorisation configuration. /// </summary> /// <param name="pageName">Name of the page.</param> /// <returns></returns> public static PageAuthorisationConfiguration GetPageAuthorisationConfiguration(string pageName) { try { // Load specified web.config section ("Discovery/?????") string cacheKey = pageAuthorisationBase + pageName; // See if the PageAuthorisation config is in the cache PageAuthorisationConfiguration pageAuthorisationConfig = (PageAuthorisationConfiguration)DataCache.GetCache(cacheKey); // Check if PageAuthorisation config was in cache if (null == pageAuthorisationConfig) { // This uses PageAuthorisationConfigurationHandler to read custon settings pageAuthorisationConfig = (PageAuthorisationConfiguration) ConfigurationManager.GetSection(pageAuthorisationBase + pageName); // Insert the type into the cache DataCache.SetCache(cacheKey, pageAuthorisationConfig); } // return the PageAuthorisation configuration return(pageAuthorisationConfig); } catch { // No PageAuthorisation return(null); } }
/// <summary> /// Creates a configuration section handler. /// </summary> /// <param name="parent"></param> /// <param name="configContext">Configuration context object.</param> /// <param name="section"></param> /// <returns>The created section handler object.</returns> public object Create(object parent, object configContext, XmlNode section) { // Create an instance of our PageAuthorisationConfiguration class PageAuthorisationConfiguration pageAuthorisationConfig = new PageAuthorisationConfiguration(); // Load settings from web.config "Discovery/pageAuthorisation", etc pageAuthorisationConfig.LoadValuesFromConfigurationXml(section); // Return the PageAuthorisation config return(pageAuthorisationConfig); }