Security validation in Sharepoint
понедельник, 31 декабря 2007Была у нас как-то надобность программно удалять web prefix-ы в Sharepoint-e, однако при всяких наших манипуляциях вылетал следующая ошибка:
"The security validation for this page is invalid. Click Back in your Webbrowser, refresh the page, and try your operation again."
Здесь spiderwool.blogspot.com было найдено решение, которое собственно сводилось к выставлению Enabled для FormDigestSettings в false.
Итого
SPWebApplication webApp = web.Site.WebApplication;
webApp.FormDigestSettings.Enabled = false;
…Run code…
webApp.FormDigestSettings.Enabled = true;
spWebApp.Prefixes.Delete(url.Substring(1));
Sharepoint Security and .NET Impersonation2
вторник, 30 октября 2007В продолжении поста Sharepoint Security and .NET Impersonation, WSA нашёл пример в MSDN по выполнению определённого кода под повышенными правами (под SHAREPOINT\System account identity)
SPSite siteColl = SPContext.Current.Site;
SPWeb site = SPContext.Current.Web;
SPSecurity.RunWithElevatedPrivileges(delegate() {
using (SPSite ElevatedsiteColl = new SPSite(siteColl.ID)) {
using (SPWeb ElevatedSite = ElevatedsiteColl.OpenWeb(site.ID)) {
string SiteCollectionOwner = ElevatedsiteColl.Owner.Name;
string Visits = ElevatedsiteColl.Usage.Visits.ToString();
string RootAuditEntries =
ElevatedSite.RootFolder.Audit.GetEntries().Count.ToString();
}
}
});
По-сути данный код делает тоже, что и наш самописный.
Sharepoint Security and .NET Impersonation
вторник, 30 октября 2007Для использования имперсонализации для всякого рода нужд в рамках SharePoint-а необходимо знать некоторые, не совсем очевидные, хитрости.
Хозяйке на заметку:
Impersonation is the ability of a thread to execute in a security context that is different from the context of the process that owns the thread.
Жадный на Exception Details SharePoint
среда, 10 октября 2007Даже при необходимых настройках для вывода отладочной информации, при exception-х произошедших в шаблоне страницы SharePoint приложения, в окно браузера плюется минимум информации, как правило типа “Value does not fall within the expected range”, а весь сок оседает в EventViewer-е.
gacutil “access is denied”
среда, 10 октября 2007Предисловие.
В текущем проекте есть надобность по Post-biuld event-у регестрировать dll-ку в gac-e и перезапускать IIS чтобы Sharepoint приложение поднимала уже обновлённую dll-ку. И в чем казалось бы загвоздка, написал
"C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe" /i "$(TargetPath)" /f
и будь счастлив, ан нет, не всегда всё так просто.
дальше больше…