Archive for the ‘ASP.NET’ tag
Sharepoint Security and .NET Impersonation2
В продолжении поста 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
Для использования имперсонализации для всякого рода нужд в рамках 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.
Добрые люди, chart-ы и пересборка dll
В текущем проекте (из особенностей: ASP.NET, Sharepoint) возникла надобность выводить всякого рода графики по неким отфильтрованным данным. И дабы не писать свой контрол для сих нужд, буквально в первых строчках выдачи Google-а, был найден бесплатный ASP.NET компонент WebChart, за что его творцу Carlos Aguilar Mares большое спасибо (более того удивило наличие документации и хороших примеров с кодом).
И казалось бы радости нет предела, ибо сей компонент покрывает практические все наши нужды, ан нет. Из-за особенностей разработки необходимо чтобы dll проекта лежала в gac-е, и вот собственно оказия — dll-ка то контрола не подписана.
Однако вновь мир не без добрых на gotdotnet.ru был найден ответ как подписать, а точнее пересобрать dll:
Есть такое понятие как "round-trip" — по русски самое подходящее название "пересборка":
1) ILDASM some.dll /out:some.il
2) REN some.dll some.old.dll
3) ILASM some.il /output=some.dll /dll /KEY=<keyfile> /resource=some.res
Имеем подписанную сборку...
Данная возможность весьма полезна и неизменно попадает в летопись всякого рода джедайских приёмов.
P.S. Ещё одно подтверждение того что мир не без добрых людей, что не может не радовать.