Frage : Kundenspezifische Suchseite und -personifizierung

Hallo, haben

We eine kundenspezifische Suchseite für SharePoint hergestellt, das ein username auf dem Querystring nimmt und vor der Ausführung der Suche dann versuchen, diesen Benutzer zu verkörpern. Wir haben die korrekte Kerberos-Authentisierung zusammengebaut, um Personifizierung etc. zuzulassen. Jedoch fällt es mit der folgenden Störung aus:

" eine Störung trat auf, eine Konfigurationsakte ladend: Entweder ein erforderliches Personifizierungniveau wurde nicht zur Verfügung gestellt, oder das zur Verfügung gestellte Personifizierungniveau ist unzulässiges "

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

..... Material…

name = „[email protected]“;
WindowsIdentity Identifikation = neues WindowsIdentity (Name);
WindowsPrincipal p = neues WindowsPrincipal (Identifikation);

//verkörpern das temporarily
WindowsImpersonationContext wic = Identifikation. Verkörpern ();

try
{
SPSite siteCollection = neues SPSite („ http://intranet.de mo.com/sit es/searchsitecollection");
Schnur queryText = „hallo Welt“;
Schnurfrage = String.Format („AUSERWÄHLT Titel, Weg VON Bereich () WO \ „Bereich \ „= ' alles Aufstellungsorte UND ENTHÄLT („\“ {0} \ „") „, queryText);

FullTextSqlQuery qry = neues FullTextSqlQuery (siteCollection);
qry.ResultTypes = ResultType.RelevantResults;
qry.TrimDuplicates = falsch;
qry.KeywordInclusion = KeywordInclusion.AnyKeyword;
qry.QueryText = Frage;
qry.RowLimit = 200;


    ResultTableCollection resultTbls;

resultTbls = qry. Durchführen ();

ResultTable resultsTab = resultTbls [ResultType.RelevantResults];
, während (resultsTab.Read ())
{
//Do stuff
}
}
finally
{
// Wiederherstellung unser altes Sicherheit context
wic. Annulieren ();  
}

Antwort : Kundenspezifische Suchseite und -personifizierung

Der folgende Code ist „der Luftcode“ (nicht geprüft). Ich denke noch, dass es besser sein, eine Frage zu verwenden, die auf Ihren tatsächlichen Tabellen anstelle von Query2 basierte, aber im Ende Sie eine Lösung benötigen, die Sie beibehalten können, also ist es Ihr Anruf.

(°v°)
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
    Schwaches strSQL als Schnur
    Schwaches varID
    
    strSQL = „* vom tbl_survey IN DEM survey_year='2010'" VORWÄHLEN
    Mit CurrentDb.OpenRecordset (strSQL, dbOpenDynaset)
        Bis .EOF tun
            varID = DLookup („Identifikation“, „Query2“, „part_rate='52 und ID=“ u.! Identifikation)
            Wenn nicht IsNull (varID) dann
                . Redigieren
                ! Service = ausrichten en
                . Update
            Beenden wenn
            .MoveNext
        Schleife
        . Abschluss
    Ende mit
Weitere Lösungen  
 
programming4us programming4us