Nach einer Datenbank Migration von SPS 2003 auf MOSS 2007 (SP1) kommt es oft zu folgenden Fehler (man bekommt diesen Fehler allerdings erst, wenn man die entsprechenden Einstellungen in der web.config macht, ansonsten wird nur unbekannter Fehler angezeigt):
Daten können nicht überprüft werden. bei System.Web.Configuration.MachineKeySection.GetDecodedData(Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Int32& dataLength)
bei System.Web.UI.ObjectStateFormatter.Deserialize(String inputString)
Er tritt auf beim CheckIn, Abbrechen des CheckIn oder Genehmigen von Publishing Seiten.
Das Problem liegt an der Viewstate Einstellung in der web.config. Dort ist folgender Eintrag zu finden
<pages enableSessionState="false" enableViewState="true" enableViewStateMac="true" validateRequest="false" pageParserFilterType="Microsoft.SharePoint.ApplicationRuntime.SPPageParserFilter, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" asyncTimeout="7">
Das Problem scheint durch die Einstellung enableViewStateMac="true" hervorgerufen zu werden. Setzt man diesen Wert auf false, lassen sich die Seiten wieder einchecken und auch veröffentlichen.
Die beschriebene Lösung ist natürlich nach meiner Sicht äußerst bedebklich, da das Abschalten des message authentication check ein Security Risiko darstellt und ggf. noch andere Auswirkungen hat. Ich habe aber bisher keine bessere Lösung gefunden.