Hi Mahesh,
I assume you are using configuration transforms for test environment - is that config from test or your local config?
What about the environment - is it Episerver DXP, on-premise VMs or Azure app services, something else?
Assuming you have followed the Episerver instruction 'Integrate Azure AD using OpenID Connect'? and that sample config actually has some virtualRoles defined inside provider element and you have just snipped those away here?
And please paste the stack trace of the exception here, it will tell us where the issue is happening and we can see what most likely causes the issue.
Most likely your stack trace is something like this:
System.Configuration.Provider.ProviderException: The Role Manager feature has not been enabled.
at System.Web.Security.Roles.EnsureEnabled()
at System.Web.Security.Roles.get_Provider()
<< so here we would have what is calling the above >>
Hi Antti,
Thank you for response.
[ProviderException: The Role Manager feature has not been enabled.] System.Web.Security.Roles.EnsureEnabled() +105 System.Web.Security.Roles.get_Provider() +10 EPiServer.Security.RoleProviderUtility.GetAllRolesWithProviders() +106 EPiServer.GoogleAnalytics.InitializationModule.InitializeVirtualRoles() +297 System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +223 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +213 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +91
My web.config for test
`
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="episerver" type="EPiServer.Configuration.EPiServerSection, EPiServer.Configuration, Version=7.5.394.2, Culture=neutral, PublicKeyToken=8fe83dea738b45b7" restartOnExternalChanges="true" />
<section name="episerver.baseLibrary" allowDefinition="MachineToApplication" allowLocation="false" type="EPiServer.BaseLibrary.ConfigurationHandler,EPiServer.BaseLibrary" />
<sectionGroup name="episerverModules" />
<section name="episerver.shell" type="EPiServer.Shell.Configuration.EPiServerShellSection, EPiServer.Shell" />
<section name="episerver.framework" type="EPiServer.Framework.Configuration.EPiServerFrameworkSection, EPiServer.Framework" restartOnExternalChanges="true" />
<section name="episerver.search" type="EPiServer.Search.Configuration.SearchSection, EPiServer.ApplicationModules" />
<section name="episerver.packaging" type="EPiServer.Packaging.Configuration.EPiServerPackagingSection, EPiServer.Packaging" />
<!--<section name="episerver.search.indexingservice" type="EPiServer.Search.IndexingService.Configuration.IndexingServiceSection, EPiServer.Search.IndexingService" />-->
<section name="resizer" type="ImageResizer.ResizerSection" requirePermission="false" />
<section name="episerver.find" type="EPiServer.Find.Configuration, EPiServer.Find" requirePermission="false" />
<section name="ipRestrictions" type="Academy.Web.IPRestrictionsConfigurationSection, Academy.Web, Version=1.0.0.0, Culture=neutral" requirePermission="false" />
</configSections>
<appSettings>
// my appsettings
</appSettings>
<episerver.find serviceUrl="" />
<episerver configSource="episerver.config" />
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.1.3" newVersion="4.1.1.3"/>
</dependentAssembly>
<probing privatePath="modulesbin"/>
<dependentAssembly>
<assemblyIdentity name="EPiServer.ApplicationModules" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-9.12.2.0" newVersion="9.12.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.Data.Cache" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-9.12.2.0" newVersion="9.12.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.Data" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-9.12.2.0" newVersion="9.12.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.Events" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-9.12.2.0" newVersion="9.12.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.Framework" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-9.12.2.0" newVersion="9.12.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.Licensing" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-9.12.2.0" newVersion="9.12.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.Shell" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-9.12.2.0" newVersion="9.12.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.Configuration" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-9.12.2.0" newVersion="9.12.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-9.12.2.0" newVersion="9.12.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.Enterprise" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-9.12.2.0" newVersion="9.12.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.ImageLibrary" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-9.12.2.0" newVersion="9.12.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.LinkAnalyzer" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-9.12.2.0" newVersion="9.12.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.UI" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-9.9.1.0" newVersion="9.9.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.Web.WebControls" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-9.12.2.0" newVersion="9.12.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.XForms" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-9.12.2.0" newVersion="9.12.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.Search.IndexingService" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.3.0.0" newVersion="3.3.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Castle.Windsor" publicKeyToken="407dd0808d44fbdc" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.3.0.0" newVersion="3.3.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="1b44e1d426115821" culture="neutral"/>
<bindingRedirect oldVersion="1.0.0.0-1.65535.65535.65535" newVersion="1.2.10.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Lucene.Net" PublicKeyToken="85089178b9ac3181" culture="neutral"/>
<bindingRedirect oldVersion="2.0.0.0-2.9.4.1" newVersion="2.9.4.1"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="StructureMap" publicKeyToken="e60ad81abae3c223" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.1.6.191" newVersion="3.1.6.191"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ComponentModel.Composition" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="1.0.0.0-2009.22.10.0" newVersion="4.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="1.0.61025.0" newVersion="4.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.DataVisualization" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="3.5.0.0-4.65535.65535.65535" newVersion="4.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CMS" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.Cms.Shell.UI" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-9.9.1.0" newVersion="9.9.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.Shell.UI" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-9.9.1.0" newVersion="9.9.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Shell" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http.WebHost" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.Packaging.CmdAPI" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.Packaging" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.2.4.0" newVersion="3.2.4.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.Logging.Log4Net" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System" publicKeyToken="b77a5c561934e089" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Configuration" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml" publicKeyToken="b77a5c561934e089" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Routing" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.Find" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-12.2.0.0" newVersion="12.2.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.Find.Framework" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-12.2.0.0" newVersion="12.2.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.Find.Blocks" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.Find.Cms" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-12.2.0.0" newVersion="12.2.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.Find.Optimizations" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-12.2.0.0" newVersion="12.2.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.Find.Statistics" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-12.2.0.0" newVersion="12.2.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EPiServer.Find.UI" publicKeyToken="8fe83dea738b45b7" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-12.2.0.0" newVersion="12.2.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Drawing" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.2.15.0" newVersion="1.2.15.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.1.3" newVersion="4.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Data" publicKeyToken="b77a5c561934e089" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.IdentityModel.Protocols.OpenIdConnect" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-6.5.0.0" newVersion="6.5.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.IdentityModel.Tokens" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-6.5.0.0" newVersion="6.5.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IdentityModel.Tokens.Jwt" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-6.5.0.0" newVersion="6.5.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.IdentityModel.Protocols" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-6.5.0.0" newVersion="6.5.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.IdentityModel.Logging" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-6.5.0.0" newVersion="6.5.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Data.Services.Client" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.6.4.0" newVersion="5.6.4.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Data.Edm" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.6.4.0" newVersion="5.6.4.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Data.OData" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.6.4.0" newVersion="5.6.4.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.IdentityModel.Protocol.Extensions" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.0.40306.1554" newVersion="1.0.40306.1554"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
<!-- Connection string info is stored in a separate file -->
<connectionStrings configSource="connectionStrings.config" />
<system.web>
<roleManager enabled="false">
<providers>
<clear />
</providers>
</roleManager>
<membership>
<providers>
<clear />
</providers>
</membership>
<profile enabled="true" defaultProvider="SqlProfile" automaticSaveEnabled="true">
<properties>
<add name="Address" type="System.String" />
<add name="ZipCode" type="System.String" />
<add name="Locality" type="System.String" />
<add name="Email" type="System.String" />
<add name="FirstName" type="System.String" />
<add name="LastName" type="System.String" />
<add name="Language" type="System.String" />
<add name="Country" type="System.String" />
<add name="Company" type="System.String" />
<add name="Title" type="System.String" />
<add name="CustomExplorerTreePanel" type="System.String" />
<add name="FileManagerFavourites" type="System.Collections.Generic.List`1[System.String]" />
<add name="EditTreeSettings" type="EPiServer.Personalization.GuiSettings, EPiServer" />
<add name="ClientToolsActivationKey" type="System.String" />
<add name="FrameworkName" type="System.String" />
</properties>
<providers>
<clear />
<add name="SqlProfile" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="EPiServerDB" applicationName="EPiServer" />
</providers>
</profile>
<compilation defaultLanguage="c#" optimizeCompilations="true" debug="false" targetFramework="4.6">
<assemblies>
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>
<customErrors mode="RemoteOnly" />
<authentication mode="None"/>
<globalization culture="fi-FI" uiCulture="fi" requestEncoding="utf-8" responseEncoding="utf-8" resourceProviderFactoryType="EPiServer.Framework.Localization.LocalizationServiceResourceProviderFactory, EPiServer.Framework" />
<httpRuntime requestValidationMode="2.0" requestPathInvalidCharacters="" targetFramework="4.6" />
<pages validateRequest="false" enableEventValidation="true" pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" enableViewState="false">
<controls>
<add tagPrefix="EPiServer" namespace="EPiServer.Web.WebControls" assembly="EPiServer" />
<add tagPrefix="EPiServer" namespace="EPiServer.Web.WebControls" assembly="EPiServer.Web.WebControls" />
<add tagPrefix="EPiServer" namespace="EPiServer.Framework.Web.WebControls" assembly="EPiServer.Framework" />
</controls>
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="System.Linq" />
<add namespace="System.Collections.Generic" />
<add namespace="EPiServer.Shell.Web.Mvc.Html" />
<add namespace="System.Web.Helpers" />
<add namespace="System.Web.WebPages" />
<add namespace="EPiServer.Framework.Web.Mvc.Html" />
</namespaces>
</pages>
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="ClientResourceCache" enabled="true" duration="3600" varyByParam="*" varyByContentEncoding="gzip;deflate" />
</outputCacheProfiles>
</outputCacheSettings>
</caching>
<!-- Log authentication failures to the asp.net membership database table aspnet_WebEvent_Events -->
<healthMonitoring>
<eventMappings>
<add name="AuthenticationFailure" type="System.Web.Management.WebFailureAuditEvent,System.Web,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" startEventCode="0" endEventCode="2147483647" />
</eventMappings>
<providers>
<add connectionStringName="EPiServerDB" buffer="false" name="MsSqlAuditWebEventProvider" type="System.Web.Management.SqlWebEventProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
<rules>
<add name="MsSql Auth Failure Critical" eventName="AuthenticationFailure" provider="MsSqlAuditWebEventProvider" profile="Critical" />
</rules>
</healthMonitoring>
<httpModules>
<add name="ImageResizingModule" type="ImageResizer.InterceptModule" />
</httpModules>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="InitializationModule" type="EPiServer.Framework.Initialization.InitializationModule, EPiServer.Framework" preCondition="managedHandler" />
<add name="UrlRewriteModule" type="EPiServer.Web.RoutingUrlRewriteModule, EPiServer" preCondition="managedHandler" />
<add name="ShellRoutingModule" type="EPiServer.Shell.Web.Routing.ShellRoutingModule, EPiServer.Shell" />
<remove name="WebDAVModule" />
<add name="ImageResizingModule" type="ImageResizer.InterceptModule" />
</modules>
<handlers>
<add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:00" />
</staticContent>
<caching>
<profiles>
<add extension=".gif" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" />
<add extension=".png" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" />
<add extension=".js" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" />
<add extension=".css" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" />
<add extension=".jpg" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" />
<add extension=".jpeg" policy="DontCache" kernelCachePolicy="CacheUntilChange" duration="0.00:01:00" location="Any" />
</profiles>
</caching>
<httpErrors errorMode="Custom">
<remove statusCode="404" />
<remove statusCode="500" />
<error statusCode="404" path="/error/http404" responseMode="ExecuteURL" />
<error statusCode="500" path="/error/http500" responseMode="ExecuteURL" />
</httpErrors>
<httpProtocol>
<customHeaders>
<!-- Allow frames from same origin only -->
<add name="X-Frame-Options" value="SAMEORIGIN" />
<!-- Prevent mime-missmatch tricks; prevents IE and Chrome from MIME-sniffing a response away from the declared content-type -->
<add name="X-Content-Type-Options" value="nosniff" />
<!-- Enable XSS filter built into most recent web browsers. -->
<add name="X-XSS-Protection" value="1" />
</customHeaders>
</httpProtocol>
<validation validateIntegratedModeConfiguration="false" />
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="268435456" />
</requestFiltering>
</security>
</system.webServer>
<location path="yllapito">
<system.web>
<httpRuntime maxRequestLength="1000000" requestValidationMode="2.0" />
<pages enableEventValidation="true" enableViewState="true" enableSessionState="true" enableViewStateMac="true">
<controls>
<add tagPrefix="EPiServerUI" namespace="EPiServer.UI.WebControls" assembly="EPiServer.UI" />
<add tagPrefix="EPiServerScript" namespace="EPiServer.ClientScript.WebControls" assembly="EPiServer" />
<add tagPrefix="EPiServerScript" namespace="EPiServer.UI.ClientScript.WebControls" assembly="EPiServer.UI" />
</controls>
</pages>
<globalization requestEncoding="utf-8" responseEncoding="utf-8" />
<authorization>
<allow roles="WebEditors, WebAdmins, Administrators" />
<deny users="*" />
</authorization>
</system.web>
<system.webServer>
<handlers>
<clear />
<!-- This section is copied from applicationhost.config -->
<add name="AssemblyResourceLoader-Integrated-4.0" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="PageHandlerFactory-Integrated-4.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="SimpleHandlerFactory-Integrated-4.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="WebServiceHandlerFactory-Integrated-4.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="svc-Integrated-4.0" path="*.svc" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="wildcard" path="*" verb="*" type="EPiServer.Web.StaticFileHandler, EPiServer.Framework" />
</handlers>
</system.webServer>
</location>
<location path="yllapito/CMS/admin">
<system.web>
<authorization>
<allow roles="WebAdmins, Administrators" />
<deny users="*" />
</authorization>
</system.web>
</location>
<location path="WebServices">
<system.web>
<httpRuntime maxRequestLength="1000000" />
<authorization>
<allow roles="WebServices,Administrators" />
<deny users="*" />
</authorization>
</system.web>
<system.webServer>
<handlers>
<clear />
<add name="AssemblyResourceLoader-Integrated-4.0" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="WebServiceHandlerFactory-Integrated-4.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="svc-Integrated-4.0" path="*.svc" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="wildcard" path="*" verb="*" type="EPiServer.Web.StaticFileHandler, EPiServer.Framework" />
</handlers>
</system.webServer>
</location>
<location path="util">
<system.web>
<pages enableEventValidation="true">
<controls>
<add tagPrefix="EPiServerUI" namespace="EPiServer.UI.WebControls" assembly="EPiServer.UI" />
<add tagPrefix="EPiServerScript" namespace="EPiServer.ClientScript.WebControls" assembly="EPiServer" />
</controls>
</pages>
<globalization requestEncoding="utf-8" responseEncoding="utf-8" />
</system.web>
<system.webServer>
<handlers>
<clear />
<add name="AssemblyResourceLoader-Integrated-4.0" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="PageHandlerFactory-Integrated-4.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="SimpleHandlerFactory-Integrated-4.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="WebServiceHandlerFactory-Integrated-4.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />
<add name="wildcard" path="*" verb="*" type="EPiServer.Web.StaticFileHandler, EPiServer.Framework" />
</handlers>
</system.webServer>
</location>
<episerver.framework configSource="EPiServerFramework.config" />
<episerver.shell>
<publicModules rootPath="~/modules/" autoDiscovery="Modules" />
<protectedModules rootPath="~/yllapito/">
<add name="Solita.LocalizationEditor.UI" />
<add name="EPiServer.Packaging.UI" />
<add name="Shell" />
<add name="CMS" />
<add name="Find">
<assemblies>
<add assembly="EPiServer.Find.Framework" />
<add assembly="EPiServer.Find.UI" />
<add assembly="EPiServer.Find.Blocks" />
<add assembly="EPiServer.Find.Cms" />
</assemblies>
</add>
</protectedModules>
</episerver.shell>
<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
<extensions>
<bindingElementExtensions>
<add name="udpTransportCustom" type="Microsoft.ServiceModel.Samples.UdpTransportElement, EPiServer.Events" />
</bindingElementExtensions>
</extensions>
<services>
<service name="EPiServer.Events.Remote.EventReplication" />
</services>
<behaviors>
<serviceBehaviors>
<behavior name="DebugServiceBehaviour">
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<customBinding>
<binding name="RemoteEventsBinding">
<binaryMessageEncoding />
<udpTransportCustom multicast="True" />
</binding>
</customBinding>
<netTcpBinding>
<binding name="RemoteEventsBinding">
<security mode="None" />
</binding>
</netTcpBinding>
</bindings>
</system.serviceModel>
<location path="modulesbin">
<system.web>
<authorization>
<deny users="*" />
</authorization>
</system.web>
</location>
<episerver.packaging protectedVirtualPath="~/yllapito/" protectedPath="modules\_protected" />
<episerver.search active="false" />
<location path="Modules/_Protected">
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<clear />
<add name="BlockDirectAccessToProtectedModules" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
</location>
<location path="static/bundle">
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="365.00:00:00" />
</staticContent>
</system.webServer>
</location>
<resizer>
<plugins>
<add name="EPiServerBlobReaderPlugin" />
<add name="DiskCache" />
</plugins>
<clientcache minutes="1440" />
<diagnostics enableFor="Localhost" />
<diskcache dir="/imagecache" />
</resizer>
<location path="Views/Admin">
<system.web>
<httpRuntime executionTimeout="3000" />
<authorization>
<allow roles="WebAdmins, CmsAdmins, Administrators" />
<deny users="*" />
</authorization>
</system.web>
</location>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+" />
</compilers>
</system.codedom>
</configuration>
<!--ProjectGuid: B3CB9872-EB57-4342-A3D0-2D4E8110EF77-->
My Episerver.framework file from test
<episerver.framework>
<scanAssembly forceBinFolderScan="true" />
<securityEntity>
<providers>
<add name="SynchronizingProvider"
type="EPiServer.Security.SynchronizingRolesSecurityEntityProvider, EPiServer"/>
</providers>
</securityEntity>
<virtualRoles addClaims="true" >
<providers>
<add name="Administrators" type="EPiServer.Security.WindowsAdministratorsRole, EPiServer.Framework" />
<add name="Everyone" type="EPiServer.Security.EveryoneRole, EPiServer.Framework" />
<add name="Authenticated" type="EPiServer.Security.AuthenticatedRole, EPiServer.Framework" />
<add name="Anonymous" type="EPiServer.Security.AnonymousRole, EPiServer.Framework" />
<add name="PackagingAdmins" type="EPiServer.Security.MappedRole, EPiServer.Framework" roles="WebAdmins, Administrators" mode="Any" />
<add name="CmsAdmins" type="EPiServer.Security.MappedRole, EPiServer.Framework" roles="WebAdmins, Administrators" mode="Any" />
<add name="CmsEditors" type="EPiServer.Security.MappedRole, EPiServer.Framework" roles="WebEditors" mode="Any" />
<add name="Creator" type="EPiServer.Security.CreatorRole, EPiServer" />
</providers>
</virtualRoles>
<geolocation defaultProvider="maxmind">
<providers>
<add name="maxmind" type="EPiServer.Personalization.Providers.MaxMind.GeolocationProvider, EPiServer.ApplicationModules" databaseFileName="[appDataPath]\Geolocation\GeoLiteCity.dat" />
</providers>
</geolocation>
<virtualPathProviders>
<clear />
<add name="ProtectedAddons" virtualPath="~/yllapito/" physicalPath="modules\_protected" type="EPiServer.Web.Hosting.VirtualPathNonUnifiedProvider, EPiServer.Framework" />
<add virtualPath="~/Util/Editor/tinymce/plugins" physicalPath="~/EPiServer/TinyMCE" name="TinyMCEPlugins" type="Academy.Web.Utils.EPiServer.FilesystemVirtualPathProvider,Academy.Web" />
</virtualPathProviders>
<localization fallbackBehavior="Echo, MissingMessage, FallbackCulture" fallbackCulture="en">
<providers>
<add virtualPath="~/EPiServer/Lang" name="languageFiles" type="EPiServer.Framework.Localization.XmlResources.FileXmlLocalizationProvider, EPiServer.Framework" />
</providers>
</localization>
<appData basePath="..\appdata_prod" />
</episerver.framework>
Thanks,
Mahesh Kulkarni
Hi, so looks like it is an issue with Episerver Google Analytics add-on. What version of the nuget package you have installed? Latest?
There used to be an issue with it: https://world.episerver.com/forum/developer-forum/-Episerver-75-CMS/Thread-Container/2016/1/google-analytics-when-using-owin/
Also looking at your test web.config, there is no episerver google analytics add-on in the protected modules so is that something new you have just installed and your test environment web.config is now not updated with correct one from transforms?
So you rprotected modules section should have EPiServer.GoogleAnalytics like this:
<protectedModules rootPath="~/EPiServer/">
<add name="Shell" />
<add name="CMS" />
<add name="EPiServer.Cms.TinyMce" />
<add name="EPiServer.Search.Cms" />
<add name="EPiServer.GoogleAnalytics" />
</protectedModules>
(EPiServer.Cms.TinyMce is there because that is from a new CMS version)
EDIT: So looking at your web.config realized that you are running a really old CMS version 9.x (hint hint ;) you guys should really update the customers site to latest version :D 11.x.x version)
But about your current issue:
Hi Antti,
I see the Google analytics add-on added into the CMS. Bud I ddid not find any nuget package in my solutionwith name episerver.GoogleAnalytics.
As per your suggestion I have added episerver.GoogleAnalytics in protected modules section. but still getting same error.
We are using OpenId connect for authentication.
I am not understanding whats going wrong here.
Hi,
It is not enough to just add that entry for EPiServer.GoogleAnalytics to the protected modules, you need to have the package actually installed (so in your packages.config you should have that package listed).
But before just adding randomly stuff - can you tell us when this issue started? Was it when you added the OIDC and the EPiServer.GoogleAnalytics NuGet already existed. The old EPiServer.GoogleAnalytics might require roles (directly using roles) and if you now have added the OIDC and disabled role manager and analytics packagge requires that => it doesn't work.
Why it works on your local? You must have different settings VS your test environment. In your local the analytics is not perhaps used because there is no error but in test you still have that assembly in the bin folder. When you deploy to test, does your release process clean the target (meaning deletes files that are not in the release)?
Hi Anttii,
I saw the Episerver.googleANaltics addon on in episerver CMS section, but did not found the nuget package installed in solution.
So I just installed Episerver.googleAnalytics ve 1.9.2.9000 to my solution( I saw this verison in cms)
I have cleared all existing files in destination and deployed all files from my release.
The error has started occuring when I deployed SSO changes (OIDC) changes to test site.
Still geting the same error.
Now after installing the package, error starts occurring on my local environment as well.
So I would say you have a mess in your solution ;-)
So anyways, #1 seems like the issue is caused by the EPiServer.GoogleAnalytics package
If you already have the latest version and still causes issues (or you can't install the latest because of your CMS version), then I would say you have only one option - remove the package as the OIDC part seems to work OK without it BUT you will loose Google Analytics stuff provided by the package (if that was actually configured with GA values) -> so you really should talk with the development team and your customer before just pushing a version without the Google Analytics package.
I don't know what exactly the problem is,
I just copied whole website to my local environment and tried to run it locally, its giving same error.
then I ran the release folder on my local it is just working fine.
Something is odd in test website folder, i need to find out.
The website Module folder contains the Epliserver.Googlanalytics package, it is not present in my local enviroement.
if I remove that package form modules folder its just working fine.
I willl discuss with customer if I can remove the goolge analytics addon.
Thank you for your guildance.
Hi Mahesh, it would be nice if you would mark this answered as you now know what is causing the issue and how to work around it.
HI,
I have integrated Azure AD authentication using OpenId connect. Everything is working fine on development envriornment. But When I pushed the changes to test site I have getting error.
ProviderException: The Role Manager feature has not been enabled. Roles.Ensure Enabled()
The error is thrown after successful authentication from azure and redirction is happened to my test site.
I have web.config
and Episerver.framework.config
Everything works just fine on dev but not on test site. Any clue?