DotNetNuke Event message: Forms authentication failed for the request. Reason: The ticket supplied was invalid. EventID 1315

image

The Problem

We were receiving some really really strange behaviour with a dotnetnuke website.

The log files showed:

Event message: Forms authentication failed for the request. Reason: The ticket supplied was invalid. with EVENT ID 1315

 

The behaviour was this:

Login with Internet Explorer worked.

Login with some versions of firefox failed others worked

Login with Chrome failed.

When login failed, the browser would refresh and then show the page you were on before login.

Now in this instance we tried nearly everything we could think of. we tried different application pools different.net settings in IIS. and we hand we have a good idea of both server management and asp.net.

He also had is particularly confused that other DotNetNuke websites on this particular server were running just fine.

To cut a long story short the problem turned out to be very specific that site we were using.

Solution

We were in the process of migrating somebody else’s site to our servers, and we had exported their site and site content using the DotNetNuke template feature. Ordinarily this would work just fine, however in this case the user on the other website had defined the login.aspx page to have administrator only privileges. They had set the login link from the skin to automatically directed to the login.aspx webpage. In the site settings they had defined no page for the DotNetNuke login page.

What this meant was that as the user attempted login to the DotNetNuke website, the attempt to call the login.aspx page was made and the DotNetNuke automatic lockout protection system was called in to play. This lockout protection system will throw up the standard DotNetNuke login screen, if the page is either undefined or unavailable as with both the case with this website. It just so happens that this lockout protection system doesn’t work particularly well with chrome. That’s a whole not a problem and I don’t intend to solve.

The solution here was to login using Internet Explorer, enable permissions on the login.aspx page which in the DotNetNuke website was simply called login. I was then able to select this page as the login page in the admin/site settings page. Once the login page was correctly defined I then ensured that the login module that come standard with DotNetNuke was included on this page.

After making these changes to the settings, we stopped receiving the error message:

DotNetNuke Event message: Forms authentication failed for the request. Reason: The ticket supplied was invalid. EventID 1315

And the site continued to operate correctly from there. Now whilst this was a very particular configuration that was imported from an invalid template website. I have noticed that in forums discussing this event ID, nobody has come up with a solution suggesting to look for the validity of your login settings within DotNetNuke. Hence the reason for this blog post.

I hope that saves somebody a lot of time, as I blew nearly 2 days try to resolve this one.

If anybody needs assistance with this type of problem, please feel free to contact us on our website.

Upgrading Steps for DotNetNuke from DNN 4.x.x to DNN 6.x.x

image

Specifically we wanted to take a version of DotNetNuke from 4.9.1 to 6.1.3 today and actually found that it worked perfectly.

We did take some steps that helped a lot. This may be of value to some of you.

Before we Began

1. Backed up the entire file system for the website.

2. Backed up the database on SQL server for the site in question.

3. Ensured we had a HOST login account that worked.

4. Ensured the server we were running on (Windows 2008 R2) was patched and running .Net Framework version 3.5 SP1.

5. If your site is busy, work out a way to stop the traffic. One way is to add a portal alias, like test.domain.com in your DNN website. Setup a DNS entry to that test.domain.com points to the IP address of your DNN web server. In IIS, setup a Binding, so that test.domain.com will answer for your site.

Then access the site on test.domain.com and check you can login, etc.

Then remove the binding in IIS for www.domain.com (temporarily while you play upgrade).

This way, the site will not answer normal user access, but will answer you when you go to test.domain.com.

 

Update Path

We suggest the following table for upgrading your DNN Website.

Note: If you are upgrading a version prior to DNN 4.6.2, then you will need to manually update the web.config file. After this version the updates are automatic.

 

Steps On Upgrade

On Codeplex, Click on View All Downloads

image

Find the version for the next upgrade step from the table above. Then find the Version Upgrade download link.

image

Download the .zip file to your server. Then extract the contents directly over the existing website directory structure.

You will be asked to overwrite files, Tick yes to all.

You will be asked to overwrite folders, Tick Apply to all – And continue.

Once you have extracted, hit your website in a browser, and watch the upgrade happen before your eyes.

Repeat the steps of backing up after each successful update, and download the next update package and repeat the process.

 

Tricky Bits

If you are using the XML module, on a DNN version before 5.3.0, then you should obtain the latest update of the module before moving past 5.3.0.

If you have the Ifinity URL Master module. We suggest turning it off to upgrade.

 

After Upgrade

In IIS you will wan to move the website to a new application pool that is running .net 3.5 or 4.0 Integrated. You cannot share application pools with earlier DNN versions that run on .net 2.0.

Jump into the HOST settings, and configure things like, friendly URL’s, DNN Host Menu Options, and performance settings.

If you disabled bindings (from the initial steps 5 above) re-enable them and test access.

 

DotNetNuke Upgrade Service and Support

We offer a DotNetNuke Support Service that can include the upgrading of DNN websites for you. This is especially useful if you are not confident with either .net websites or IIS server administration.

We are happy to help you evaluate the upgrade path and potential problems. The cost of the service is in effect calculated at at an hourly estimate. It should be noted that if everything goes well, and trouble free, there there is at least 1 hours work in this upgrade, usually more as there are often little bugs to sort out.

Please contact us for support here: http://www.interactivewebs.com/Services/DotNetNukeSupport.aspx

Additional References

http://www.datasprings.com/resources/articles-information/dotnetnuke-articles/upgrading-dotnetnuke-4.9-to-dotnetnuke-6.0

Problem Upgrading for DNN 4.9.5 to DotNetNuke 6x

During an update from DNN 4.9.5 to DNN 6x we experienced:

All pages with HTML blank when logged out, but show this error logged in.

image

Error: Services is currently unavailable.DotNetNuke.Services.Exceptions.ModuleLoadException: The type initializer for ‘DotNetNuke.Modules.Html.DataProvider’ threw an exception. —> System.TypeInitializationException: The type initializer for ‘DotNetNuke.Modules.Html.DataProvider’ threw an exception. —> System.InvalidCastException: Unable to cast object of type ‘DotNetNuke.Modules.HTML.SqlDataProvider’ to type ‘DotNetNuke.Modules.Html.DataProvider’. at DotNetNuke.Modules.Html.DataProvider.CreateProvider() — End of inner exception stack trace — at DotNetNuke.Modules.Html.WorkflowStateController.GetWorkflows(Int32 PortalID) at DotNetNuke.Modules.Html.HtmlTextController.GetWorkflow(Int32 ModuleId, Int32 TabId, Int32 PortalId) at DotNetNuke.Modules.Html.HtmlModule.OnInit(EventArgs e) — End of inner exception stack trace —

Solution

In our case, the upgrade left 2 things behind that DNN 6 did not like.

  1. in the app_code directory, we deleted the ‘HTML’ folder (since it does not seem that it was in use anymore and was potentially conflicting with new html module code)
  2. in web.config, I removed the following line in the <Codesubdirectories> section
    <add directoryName="HTML" />

Save and you are done.

DotNetNuke 6 running in .Net 4.0 Server Error in ‘/’ Application Version=3.5.0.0 Version=4.0.0.0

image

We had a requirement today to run a DotNetNuke Website in .Net 4.0 as some code we are using as part of the Microsoft CRM 2011 SDK require .Net 4.0.

Problem is that with many of the DotNetNuke websites, they have some references that will cause this error when you flip your website worker process to 4.0. in IIS.

image

This will give you an error that looks like this:

 

image

Generates an error:

Server Error in ‘/’ Application.

Compilation Error

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: CS1703: An assembly with the same identity ‘System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’ has already been imported. Try removing one of the duplicate references.
Source Error:

[No relevant source lines]

Source File: Line: 0

Show Detailed Compiler Output:

 

Interestingly too the reference to Version=4.0.0.0 initially said Version-3.5.0.0 until the second page refresh on the error.

The Problem

The problem in our case, and it may differ with others, related to an older file for Microsoft Ajax.

There is a file called: System.Web.Extensions.dll

in the \bin    folder.

We renamed this to: System.Web.Extensions.dll.bak

And our problem was fixed.

This is due to an older way that Microsoft handled Ajax vs the new way in .Net 4.0.

 

DotNetNuke Support Services

We do offer DotNetNuke support services and would be happy to assist others with this or other DNN problems that need professional support services with.

http://www.interactivewebs.com/Services/DotNetNukeSupport.aspx

Professional DotNetNuke Support Services

Professional Web Support Services

InteractiveWebs Support Services

image

At InteractiveWebs we have years of experience with DotNetNuke, with more published modules on SnowCovered than any other module developer in the store. (And we don’t publish all our modules.)

  • We have our own full time employed team of DNN developers.
  • We have our own full time employed Server Administrators.
  • We have our own Data Centres with our own equipment.
  • We have Years of Professional DotNetNuke Development Experience.

Quite literally there is no one who is more experienced with everything dotnetnuke.

We Offer Paid Support Services for DotNetNuke

We offer paid support services for DotNetNuke in an easy and covenant process.

  1. You advise us of the issue you are facing.
  2. We estimate an up front cost and advise you.
  3. If you decide to accept the quote, we will request that you buy the equivalent number of support tickets from our store.
  4. We will then complete the support job.

Purchasing Support Tickets

You only need to purchase support tickets if we have advise you how many tickets you will need to purchase upfront for the particular job.

You can purchase support tickets from our Support Store Here.

Supporting our Modules Free VS Charged

All of our DotNetNuke Modules are supported free of charge. We will work to resolve issues that our modules cause, or problems directly related to our modules not working as they should.

Sometimes we have clients who need our modules to be configured in a complex environment, or would like them to work with another conflicting product, or they may just want the people who made the module to set them up for them.

In these instances, we are happy to identify work that goes above an beyond “product support” and provide a quote for the additional work. You will find that we are very reasonable both about the price and what we cover for free.

Purchase Support Tickets Here

Why use flash anymore?

image

The net is changing fast. Release of the iPad and other mobile devices that have correctly made the decision to discontinue Adobe Flash.

I say correct decision because not only is flash yesterdays technology, but it is far from the optimal way to produce simple motion in web pages.

Flash still has it’s place, just not as a way to inject interesting motion into websites.

So what do we use on http://www.InteractiveWebs.com home page?

We have some simple code that renders motion:

<div class="slideshow">
<div class="slide">
<div class="inblock_first">
<div class="wsc_image_frame">
<div class="wsc_frame_tl">
<div class="wsc_frame_tr">
<div class="wsc_frame_tc">
</div>
</div>
</div>
<div class="wsc_frame_cl">
<div class="wsc_frame_cr">
<div class="wsc_frame_cc">
<img alt="" src="/Portals/0/banners/slide2.jpg" />
</div>
</div>
</div>
<div class="wsc_frame_bl">
<div class="wsc_frame_br">
<div class="wsc_frame_bc">
</div>
</div>
</div>
</div>
</div>
<div class="inblock_second">
<h1>Have a Business that needs to get a message out?</h1>
<p>InteractiveWebs provides the best of Content Management Systems on our professional hosting services.<br />
Combining DotNetNuke, WordPress Blogs, iPhone Apps, Microsoft CRM &amp; hosted solutions..<br />
<br />
</p>
<a class="button2" href="/Services/Mushroom.aspx"><span><strong>More</strong></span></a>
</div>
<div class="cleaner"></div>
</div>
<div class="slide">
<div class="inblock_second">
<h1>We have a solution… that is perfect…</h1>
<p>We have some&nbsp;increasable solutions with years of experience…</p>
<h4>
We would love to share them!</h4>
<p><br />
</p>
<a class="button2" href="/Services/Mushroom.aspx"><span><strong>More</strong></span></a>
</div>
<div class="inblock_first">
<div class="wsc_image_frame">
<div class="wsc_frame_tl">
<div class="wsc_frame_tr">
<div class="wsc_frame_tc">
</div>
</div>
</div>
<div class="wsc_frame_cl">
<div class="wsc_frame_cr">
<div class="wsc_frame_cc">
<img alt="" src="/Portals/0/banners/slide1.jpg" />
</div>
</div>
</div>
<div class="wsc_frame_bl">
<div class="wsc_frame_br">
<div class="wsc_frame_bc">
</div>
</div>
</div>
</div>
</div>
<div class="cleaner"></div>
</div>
<div class="slide">
<div class="wsc_image_frame">
<div class="wsc_frame_tl">
<div class="wsc_frame_tr">
<div class="wsc_frame_tc">
</div>
</div>
</div>
<div class="wsc_frame_cl">
<div class="wsc_frame_cr">
<div class="wsc_frame_cc">
<img alt="" src="/Portals/0/banners/slide.jpg" />
</div>
</div>
</div>
<div class="wsc_frame_bl">
<div class="wsc_frame_br">
<div class="wsc_frame_bc">
</div>
</div>
</div>
</div>
<div class="cleaner"></div>
</div>
</div>

 

The source references some jQuery effects known as cycle: http://jquery.malsup.com/cycle/

You will see on this page that it uses code in this method:

<!DOCTYPE html>

<html>

<head>

<title>JQuery Cycle Plugin – Basic Demo</title>

<style type="text/css">

.slideshow { height: 232px; width: 232px; margin: auto }

.slideshow img { padding: 15px; border: 1px solid #ccc; background-color: #eee; }

</style>

<!– include jQuery library –>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>

<!– include Cycle plugin –>

<script type="text/javascript" src="http://cloud.github.com/downloads/malsup/cycle/jquery.cycle.all.latest.js"></script>

<script type="text/javascript">

$(document).ready(function() {

$(‘.slideshow’).cycle({

fx: ‘fade’ // choose your transition type, ex: fade, scrollUp, shuffle, etc…

});

});

</script>

</head>

<body>

<div class="slideshow">

<img src="http://cloud.github.com/downloads/malsup/cycle/beach1.jpg" width="200" height="200" />

<img src="http://cloud.github.com/downloads/malsup/cycle/beach2.jpg" width="200" height="200" />

<img src="http://cloud.github.com/downloads/malsup/cycle/beach3.jpg" width="200" height="200" />

<img src="http://cloud.github.com/downloads/malsup/cycle/beach4.jpg" width="200" height="200" />

<img src="http://cloud.github.com/downloads/malsup/cycle/beach5.jpg" width="200" height="200" />

</div>

</body>

</html>

 

Producing this page: http://jquery.malsup.com/cycle/basic.htmlimage

Within DotNetNuke

Within DotNetNuke, there are a bunch of module and skins that have this effect built in. We use a skin known as LightHeads (not developed by us) that uses some hard coded references that make the implementation of this effect really simple. As the first block of code above indicates.

We love jQuery and have used it in our Mushroom Image module and our Mushroom Lite Module.

DotNetNuke Forum Module 05.00.02 The missing link!

DotNetNuke 05.06.03 Pain

If you look at the project downloads for dotnetnuke, you will notice that the forums module has the latest version as: 05.00.01

image

And if you click the link from within this page: http://www.dotnetnuke.com/Resources/Downloads/Projects-Downloads.aspx

05.00.01 is exactly what you get.

All sounds neat and tidy… right?

Not really, because if you install the latest version of DotNetNuke 05.06.03 (an important security release) you will kill your forums. Dead as dead.

And if you check around for an update of the forum module, you will not find one either in your Module Definitions, or in the DotNetNuke website. But keep looking to codeplex and you find this:

image

05.00.02 and what is strange, it is released before the DNN 05.06.03 update, like significantly before it… like 1 month.

This Forum Update is NEEDED if you want the forum module to work on DNN 05.06.03

http://dnnforum.codeplex.com/releases/view/67840

Release Notes

The same module as 5.0.1, except compiled against DotNetNuke 5.6.3 (and therefore is a minimum requirement) and the same version of Telerik (2011 SP2) included with it.
NOTE: This was compiled against, and for, 5.6.3 and is included with that release (Not released yet, as of June 12th (try 5 July).

All so confusing!

It waisted a lot of our time trying to work out what is going on. All we know is that DNN 05.06.03 broke a bunch of stuff, including the Forum Module. There is a fix but it is hidden on codeplex and is incorrectly referenced.

Very Unprofessional DNN Corp!

What you need to know

If you update to DNN 05.06.03 – your forums will die.

To fix it, download the hidden forum update 05.00.02 here: http://dnnforum.codeplex.com/releases/view/67840