SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




'AllowUnsafeUpdates' property on SPWeb - Bitte dringend um Hilfe!

Unbeantwortet Dieser Beitrag hat 0 Antworten

Ohne Rang
37 Beiträge
Chris 22 erstellt 7 Sept. 2010 12:33
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi all,

 

seit zwei Tage suche ich ohne Erfolg nach einer Lösung für ein Update, welches wegen - Updates are currently disallowed on GET requests.  To allow updates on a GET, set the 'AllowUnsafeUpdates' property on SPWeb. - nicht durchgeführt werden kann. Meine Vermutung ist, dass der Fehler etwas mit dem ausgeführten Kontext zu tun haben könnte. Mir fehlt jedoch das nötige Know-How um den Fehler eingrenzen zu können.

 

Wäre für jede Hilfe dankbar!

 

Vielen Dank im Voraus.

 

 

In folgender Funktion tritt der Fehler (an Stelle roleAssignments.Add(roleAssignment);) auf:

 

//create role deinition for the customer

public void DefineCustomerRole()

{

SPSecurity.RunWithElevatedPrivileges(delegate()

{

using (SPSite spSite = this.GetSetCurrentSite)

{

using (SPWeb spWeb = this.GetSetCurrentWeb)

{

// Break permission level inheritance if exists, than set new permissions

if (!spWeb.HasUniqueRoleDefinitions)

spWeb.RoleDefinitions.BreakInheritance(true, true);

 

string CustomGroupName = this.GetSetCustomGroupName;

SPRoleDefinitionCollection roleCollection = spWeb.RoleDefinitions;

SPRoleAssignmentCollection roleAssignments = spWeb.RoleAssignments;

SPWeb spWebRoot = spWeb.Site.RootWeb;

spWeb.Update();

spWebRoot.AllowUnsafeUpdates = true;

spSite.AllowUnsafeUpdates = true;

SPWebApplication webApp = spWeb.Site.WebApplication;

webApp.FormDigestSettings.Enabled = false;

spWeb.AllowUnsafeUpdates = true;

spWeb.Update();

spWebRoot.Update();

 

//Cteate new permission level of single permissions

SPRoleDefinition customerPermissionLevel = new SPRoleDefinition();

customerPermissionLevel.Name = "CustomerViewOnly";

customerPermissionLevel.Description = "Berechtigungsstufe der externen Kundenzugriffe";

customerPermissionLevel.BasePermissions = SPBasePermissions.CreateAlerts |

SPBasePermissions.ViewListItems |

SPBasePermissions.ViewPages |

SPBasePermissions.CancelCheckout |

SPBasePermissions.EditMyUserInfo |

SPBasePermissions.ViewFormPages;

 

string tmpName = customerPermissionLevel.Name;

bool tmpRoleExist = false;

foreach (SPRoleDefinition roleDefinition in roleCollection)

{

if (tmpName == roleDefinition.Name)

{

tmpRoleExist = true;

}

}

 

if (!tmpRoleExist)

{

spWeb.RoleDefinitions.Add(customerPermissionLevel);

customerPermissionLevel.Update();

}

 

//assigne role to the customer group

SPGroup customerGroup = createCustomGroup(CustomGroupName);

SPRoleAssignment roleAssignment = new SPRoleAssignment(customerGroup);

SPRoleDefinitionBindingCollection roleDefinitionBindings = roleAssignment.RoleDefinitionBindings;

roleDefinitionBindings.Add(roleCollection["CustomerViewOnly"]);

//Add the new role assignment to the collection of role assignments for the site.

roleAssignments.Add(roleAssignment);  //Hier wird die Exception geworfen

spWeb.AllowUnsafeUpdates = false;

spWeb.Update();

}

}

});

}