Questione : Pagina su ordinazione e personificazione di ricerca

Ciao, il

We ha generato una pagina su ordinazione di ricerca per SharePoint che prende un username sul querystring ed allora prova a impersonate quell'utente prima dell'effettuazione della ricerca. Abbiamo configurato l'autenticazione corretta del Kerberos per tenere conto personificazione ecc. Tuttavia, viene a mancare con il seguente errore: il

" un errore ha accaduto caricando una lima di configurazione: O un livello required di personificazione non è stato fornito, o il livello fornito di personificazione è "

using System.Security.Principal;
using Microsoft.Office.Server.Search.Query;


.....…/>name = “[email protected]„;
WindowsIdentity identificazione = nuovo WindowsIdentity (nome);
WindowsPrincipal p = nuovo WindowsPrincipal (identificazione); il

//impersonate il temporarily
WindowsImpersonationContext wic = identificazione. Impersonate ();

try
{siteCollection del
SPSite = nuovo SPSite (“rel= " nofollow "„ del _blank„„ del target= " di http://intranet.demo.com/sites/searchsitecollection del href= di mo.com/sit di http://intranet.de/>es/searchsitecollection"); queryText della stringa del
= “ciao mondo„; Domanda della stringa del
= String.Format (“PRESCELTO titolo, percorso DA portata () DOVE \ “portata \ “= ' tutto luogo E CONTIENE (“\„ {0} \ “") “, queryText);

FullTextSqlQuery qry = nuovo di FullTextSqlQuery (siteCollection);
qry.ResultTypes = ResultType.RelevantResults;
qry.TrimDuplicates = falso;
qry.KeywordInclusion = KeywordInclusion.AnyKeyword;
qry.QueryText = domanda;
qry.RowLimit = 200;


    ResultTableCollection resultTbls;resultTbls del

= qry. Eseguire (); resultsTab del

ResultTable = resultTbls [ResultType.RelevantResults];
mentre (resultsTab.Read ())
finally
{restauro del
} del
{stuff
del
//Do} del
// il nostro vecchio context
di sicurezza wic. Disfare ();  
del
} class= del

Risposta : Pagina su ordinazione e personificazione di ricerca

Il codice sotto è “codice dell'aria„ (non provato). Ancora penso che sia stato migliore usare una domanda basata sulle vostre tabelle reali anziché Query2, ma alla fine avete bisogno di una soluzione che potete effettuare, in modo da è la vostra chiamata.

(°v°)
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
    strSQL fioco come stringa
    varID fioco
    
    lo strSQL = “SELEZIONA * A PARTIRE dal tbl_survey DOVE survey_year='2010'"
    Con CurrentDb.OpenRecordset (strSQL, dbOpenDynaset)
        Fare fino a .EOF
            varID = DLookup (“identificazione„, “Query2„, “part_rate='52 e ID=„ &! Identificazione)
            Se non IsNull (varID) allora
                . Pubblicare
                ! il servizio = allinea
                . Aggiornamento
            Concluder se
            .MoveNext
        Ciclo
        . Fine
    Estremità con
Altre soluzioni  
 
programming4us programming4us