Posso accedere alla spaumitquery dalla libreria di classe JavaScript?
-
09-12-2019 - |
Domanda
o c'è un servizio incorporato SP2010 per accedere ai dati di audit?
[Aggiorna] Quick Awnser, no, non c'è modo di accedere alla spaumitquery dalla Biblioteca di classe SP JavaScript SP.
Alla fine finisco per usare un servizio WCF, utilizzando tutte le indicazioni fornite da @ALMmosharePointmaster, tirando la spaumitquery da JavaScript, non dimenticare di elevare il contesto quando interroga da un servizio WCF
using (ElevatedContext context = new ElevatedContext(SPContext.Current.Web, SPContext.Current.Site))
{
context.Execute(delegate
{
SPList spList = context.Web.Lists[yourListId];
SPListItem spItem = spList.GetItemById(yourItemId);
SPAuditQuery auditQuery = new SPAuditQuery(context.Site);
auditQuery.RestrictToListItem(spItem);
SPAuditEntryCollection auditEntries = context.Site.Audit.GetEntries(auditQuery);
});
}
return auditEntries;
. Soluzione
è spiegato incondipo qui con immagini come usare spaudot;)
http://www.codeproject .com / articoli / 431342 / Auditing-A-integrato-feature-of-SharePoint
SpAudit e i suoi membri
http://msdn.microsoft.com/en -US / Biblioteca / microsoft.sharepoint.Spaudit.aspx
Membri
http://msdn.microsoft.com/en -UR / Biblioteca / Microsoft.SharePoint.Spaudit_members.aspx
Questo è preso da MSDN che mostra come accedere al registro,
.
SPAuditQuery wssQuery = new SPAuditQuery(siteCollection);
wssQuery.RestrictToListItem(item);
SPAuditEntryCollection auditCol = site.Audit.GetEntries(wssQuery);
foreach (SPAuditEntry entry in auditCol) {
// get info from audit log
}
Questo è stato preso da un altro thread pubblicato di seguito:
.
SPAuditQuery wssQuery = new SPAuditQuery(web.Site);
wssQuery.RestrictToUser(web.CurrentUser.ID);
wssQuery.AddEventRestriction(SPAuditEventType.View);
wssQuery.RestrictToList(SPContext.Current.List);
SPAuditEntryCollection auditCol;
auditCol = web.Site.Audit.GetEntries(wssQuery);
Potresti anche usare:
.
SPAuditQuery wssQuery =
new SPAuditQuery(SPContext.Current.Site);
Si prega di notare che si imbatteranno in alcuni restrizioni con Amdmin Destra! Poiché gli stati dell'ultimo collegamento afferma, prendono nella conduzione, la stament di sotto di MSDN particolarmente l'ultima parte;)
La mia soluzione alla restrizione è usare SPSecurity.RunwithElevatedPrivileges
come un piccolo lavoro intorno :)
.L'ambito fondamentale di qualsiasi query è sempre una raccolta di siti; ma Puoi usare i membri della classe per limitare una query in particolare Date range, utenti, tipi di eventi, elenchi e elementi dell'elenco.
Questa classe viene utilizzata principalmente come parametro al Metodo getentries (spauditquery).
Non è possibile utilizzare questa classe per interrogare il database di SharePoint per qualsiasi cosa diversa dalle registrazioni degli eventi controllati.
SpautitQuery Class
http://msdn.microsoft.com/en -US / biblioteca / microsoft.sharepoint.spauditquery.aspx
Modifica
Se si desidera utilizzare un server Web è possibile seguire l'esempio, tutto ciò che devi fare è avere questo codice:
.SPSite oSiteCollection = (SPSite)properties.Feature.Parent; SPAuditQuery oAuditQuery = new SPAuditQuery(oSiteCollection); oAuditQuery.RestrictToListItem(item); SPAuditEntryCollection collAuditEntries = oSiteCollection.Audit.GetEntries(oAuditQuery); foreach (SPAuditEntry oAuditEntry in collAuditEntries) { // get info from audit log }
Ovviamente ha un metodo di ritorno che restituisce i risultati :)
http://msdn.microsoft.com/en-us/library /ms457256.aspx
Spero che aiuti :)