Blank Screen Logging into BackOffice after adding FederatedAuthentication Module
Appologies up front as I'm sure I will leave out some details - Please let me know if any other info is needed.
We have installed a new instance of umbraco 7.1.4 into our dev environment. The umbraco site, our custom controls, and backoffice (logging in against our internal AD accounts) all work fine until we add in the FederatedAuthentication module. Then the sso on the site works correctly, but when logging into backoffice - we get a blank white screen with js errors:
Here is our web.config sections related to security and modules:
<?xml version="1.0" encoding="utf-8" ?> <settings> <!-- umbracoSettings.config configuration documentation can be found here: http://our.umbraco.org/documentation/using-umbraco/config-files/umbracoSettings/ Many of the optional settings are not explicitly listed here but can be found in the online documentation. --> <content> <errors> <error404>1</error404>
<!--<error404> <errorPage culture="default">1</errorPage> <errorPage culture="en-US">200</errorPage> </error404> --> </errors> <notifications> <!-- the email that should be used as from mail when umbraco sends a notification --> <email>[email protected]</email> </notifications> <!-- Show property descriptions in editing view "icon|text|none" --> <PropertyContextHelpOption>text</PropertyContextHelpOption> <!-- The html injected into a (x)html page if Umbraco is running in preview mode --> <PreviewBadge><![CDATA[<a id="umbracoPreviewBadge" style="position: absolute; top: 0; right: 0; border: 0; width: 149px; height: 149px; background: url('{1}/preview/previewModeBadge.png') no-repeat;" href="{0}/endPreview.aspx?redir={2}"><span style="display:none;">In Preview Mode - click to end</span></a>]]></PreviewBadge> <!-- Cache cycle of Media and Member data fetched from the umbraco.library methods --> <!-- In seconds. 0 will disable cache --> <UmbracoLibraryCacheDuration>1800</UmbracoLibraryCacheDuration> <!-- How Umbraco should handle errors during macro execution. Can be one of the following values: - inline - show an inline error within the macro but allow the page to continue rendering. Historial Umbraco behaviour. - silent - Silently suppress the error and do not render the offending macro. - throw - Throw an exception which can be caught by the global error handler defined in Application_OnError. If no such error handler is defined then you'll see the Yellow Screen Of Death (YSOD) error page. Note the error can also be handled by the umbraco.macro.Error event, where you can log/alarm with your own code and change the behaviour per event. --> <MacroErrors>inline</MacroErrors> <!-- These file types will not be allowed to be uploaded via the upload control for media and content --> <disallowedUploadFiles>ashx,aspx,ascx,config,cshtml,vbhtml,asmx,air,axd</disallowedUploadFiles> <!-- Defines the default document type property used when adding properties in the back-office (if missing or empty, defaults to Textstring --> <defaultDocumentTypeProperty>Textstring</defaultDocumentTypeProperty> </content> <security> <!-- set to true to auto update login interval (and there by disabling the lock screen --> <keepUserLoggedIn>true</keepUserLoggedIn> <!-- change in 4.8: Disabled users are now showed dimmed and last in the tree. If you prefer not to display them set this to true --> <hideDisabledUsersInBackoffice>false</hideDisabledUsersInBackoffice> </security> <requestHandler> <!-- this will ensure that urls are unique when running with multiple root nodes --> <useDomainPrefixes>false</useDomainPrefixes> <!-- this will add a trailing slash (/) to urls when in directory url mode --> <addTrailingSlash>true</addTrailingSlash> </requestHandler> <templates> <!-- To switch the default rendering engine to MVC, change this value from WebForms to Mvc --> <useAspNetMasterPages>true</useAspNetMasterPages> <defaultRenderingEngine>WebForms</defaultRenderingEngine> </templates>
<!-- this is used by Umbraco to determine if there's valid classes in the /App_Code folder to be used for Rest/XSLT extensions --> <developer> <appCodeFileExtensions> <ext>cs</ext> <ext>vb</ext> </appCodeFileExtensions> </developer> <!-- This moves the asp.net viewstate data to the end of the html document instead of having it in the beginning--> <viewstateMoverModule enable="false" />
<scheduledTasks> <!-- add tasks that should be called with an interval (seconds) --> <!-- <task log="true" alias="test60" interval="60" url="http://localhost/umbraco/test.aspx"/>--> </scheduledTasks> <!-- distributed calls make umbraco use webservices to handle cache refreshing --> <distributedCall enable="false"> <!-- the id of the user who's making the calls --> <!-- needed for security, umbraco will automatically look up correct login and passwords --> <user>0</user> <servers> <!-- add ip number or hostname, make sure that it can be reached from all servers --> <!-- you can also add optional attributes to force a protocol or port number (see #2) --> <!-- <server>127.0.0.1</server>--> <!-- <server forceProtocol="http|https" forcePortnumber="80|443">127.0.0.1</server>--> </servers> </distributedCall> <providers> <users> <!-- if you wish to use your own membershipprovider for authenticating to the umbraco back office --> <!-- specify it here (remember to add it to the web.config as well) --> <DefaultBackofficeProvider>ADMembershipProvider_MASTER</DefaultBackofficeProvider> </users> </providers> <!-- web.routing @trySkipIisCustomErrors Tries to skip IIS custom errors. Starting with IIS 7.5, this must be set to true for Umbraco 404 pages to show. Else, IIS will take over and render its build-in error page. See MS doc for HttpResponseBase.TrySkipIisCustomErrors. The default value is false, for backward compatibility reasons, which means that IIS _will_ take over, and _prevent_ Umbraco 404 pages to show. @internalRedirectPreservesTemplate By default as soon as we're not displaying the initial document, we reset the template set by the finder or by the alt. template. Set this option to true to preserve the template set by the finder or by the alt. template, in case of an internal redirect. (false by default, and in fact should remain false unless you know what you're doing) --> <web.routing trySkipIisCustomErrors="false" internalRedirectPreservesTemplate="false"> </web.routing> </settings>
The logger makes it look as though the user has logged in successfully:
2014-08-19 11:32:54,288 [447] INFO Umbraco.Web.Security.WebSecurity - [Thread 449] User Id: 3 logged in
We are stumped - this worked with umbraco 4.11.10, but it seems as though with all of the client side security now implemented in umbraco - that authentication is maybe not getting passed down to client security code. Any help will be appreciated.
We just figured out the issue. The reason for the blank screen on IE in our case was that we were using a host name that had an underscore in it so all of the urls were:
umbraco_v7.local
It seems that IE would prevent cookies that included the underscore from being set and simply changing the host name to this fixed it:
Blank Screen Logging into BackOffice after adding FederatedAuthentication Module
Appologies up front as I'm sure I will leave out some details - Please let me know if any other info is needed.
We have installed a new instance of umbraco 7.1.4 into our dev environment. The umbraco site, our custom controls, and backoffice (logging in against our internal AD accounts) all work fine until we add in the FederatedAuthentication module. Then the sso on the site works correctly, but when logging into backoffice - we get a blank white screen with js errors:
Here is our web.config sections related to security and modules:
Here is our umbracoSettings.config:
The logger makes it look as though the user has logged in successfully:
2014-08-19 11:32:54,288 [447] INFO Umbraco.Web.Security.WebSecurity - [Thread 449] User Id: 3 logged in
And some cookies are set:
ASP.NET_SessionId
fsecru1qiadseatdg3wn2r5d2sfsr1
support.company-dev.com
/
Session
41
✓
Recycle
58c19d1c-435c-492ASDFf-948a-acd524afdadabd0
support.company-dev.com
/
Fri, 19 Aug 2044 17:46:40 GMT
43
UMB_UCONTEXT
71782374ACA54AE9CF1B7C49E4ASDFASDF6639C375FEB395FBBC11F0A444190381848CC5A08954AEA40C62B98334B27895A3A36173BDF3A4E827D389C9BF3C849804366903BF11929364CBD16C1BE01AB48B3D8AB94D7CAC2F30465586078867988BAA926C819AC2D5F37AB574BA285EC489F9D13BE3BFE067E46A843B5A0FB1A0F102EFF2B10FB5086F62DCDBD705982C20FE961D6127163C15D5790A0068BE0161557F3E6BBAAC1B3A0C4BC751E7C8BDF6FB4BCBBE62E17877871ECA417E022AA451B4758E5FD57BAEFF4F7A852E4F7DABD8969E3ECFABD5500510BEFAB10FCE7E7B2AAAB8B06A7464536F3275056B19227C8146BBC0CF347E92CAEAC89F12AFC6AD158558FDA18A36A58BC5BE2FB5E95C3E0CAAA9E95D4833AB395C12E16C78A202E62D061C19C927E66C88CD3330F6AA739336F50A1C2CD5216943BFC135A213BEE7B396201BECA3ADCAFDE6A978583D819C4DF5576A82635F38D29A4960E80250E7FAD80BA43EA204E630B6F4669975BCCB9F6EE704E47EC0AC6048727AA5ED9FDA9ACCBED257256C1772C4FB0A07F458721ADEA51AA862EFD3539E7DDCACA4C053A0F5384CCC118B157ACAA0EA17A65856FBA3F74601252532AD1BA37F56CF28619ADF079A9CC8F756AA8E7652D2D08C4CFD3A694CD36B16E92A854860D491117C4E2C5D3575D9163ACB15924342BB3227F331896920130219DA0121349C6FB2880EAA9CEBE57C69F3DD7392B9C84C0B66A7F4407BD15C86F0754A124DA9990E3676C721A9FD11A6DD62EE71292768604E8BAF9944C49766D49974052665BE065C34630EE6E370CAAB3148023A56EF645905362E41A1999925989F58BCD1A7A8F8BC5C5436611916AA2F09AFFD9E89DB90E63C1DD0BF8DEE6DE28B69A1FB5E87355D
support.company-dev.com
/
Wed, 20 Aug 2014 17:46:42 GMT
1292
✓
Hi James,
Did you ever fix this? We have the same issue, very frustrating, only happens in our production environment and only in IE.
The only reason I can see why this happens is that the browser does not seem to set the cookies that are returned from this url:
http://localhost/umbraco/backoffice/UmbracoApi/Authentication/PostLogin
Thanks,
Paul
Hi James,
We just figured out the issue. The reason for the blank screen on IE in our case was that we were using a host name that had an underscore in it so all of the urls were:
umbraco_v7.local
It seems that IE would prevent cookies that included the underscore from being set and simply changing the host name to this fixed it:
umbraco-v7.local
All I can say is GOD DAMN IE!!!
Thanks,
is working on a reply...