Pergunta : Página feita sob encomenda e personificação da busca

Olá!, o

We criou uma página feita sob encomenda da busca para SharePoint que toma um username no querystring e tenta-a então impersonate esse usuário antes de executar a busca. Nós configuramos a autenticação correta do Kerberos para permitir a personificação etc. Entretanto, falha com o seguinte erro: o

" um erro ocorreu carregando uma lima de configuração: Ou um nível required da personificação não foi fornecido, ou o nível fornecido da personificação é o "

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


.....…/>name = “[email protected]”;
WindowsIdentity identificação = WindowsIdentity novo (nome);
WindowsPrincipal p = WindowsPrincipal novo (identificação); o

//impersonate o temporarily
WindowsImpersonationContext wic = identificação. Impersonate ();

try
{siteCollection do
SPSite = SPSite novo (do “rel= " nofollow "” do _blank” do” target= " de http://intranet.demo.com/sites/searchsitecollection do href= mo.com/sit de http://intranet.de/>es/searchsitecollection"); queryText da corda do
= “olá! mundo”; Pergunta da corda do
= String.Format (“SELETO título, trajeto DE espaço () ONDE \ “espaço \ “= ' todo o local E CONTEM (“\” {0} \ “") “, queryText);

FullTextSqlQuery qry = novo de FullTextSqlQuery (siteCollection);
qry.ResultTypes = ResultType.RelevantResults;
qry.TrimDuplicates = falso;
qry.KeywordInclusion = KeywordInclusion.AnyKeyword;
qry.QueryText = pergunta;
qry.RowLimit = 200;


    ResultTableCollection resultTbls;resultTbls do

= qry. Executar (); resultsTab do

ResultTable = resultTbls [ResultType.RelevantResults];
quando (resultsTab.Read ())
finally
do
do
{stuff
do
//Do}} {restauração do
// nosso context
da segurança wic. Undo ();  
do
} class= do

Resposta : Página feita sob encomenda e personificação da busca

O código abaixo é do “código ar” (não testado). Eu ainda penso que seria melhor usar uma pergunta baseada em suas tabelas reais em vez de Query2, mas na extremidade você precisa uma solução que você possa manter, assim que é sua chamada.

(°v°)
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
    strSQL não ofuscante como a corda
    varID não ofuscante
    
    o strSQL = “SELECIONA * do tbl_survey ONDE survey_year='2010'"
    Com CurrentDb.OpenRecordset (strSQL, dbOpenDynaset)
        Fazer até .EOF
            varID = DLookup (“identificação”, “Query2”, “part_rate='52 e ID=” &! Identificação)
            Se não IsNull (varID) então
                . Editar
                ! o serviço = retifica
                . Atualização
            Terminar se
            .MoveNext
        Laço
        . Fim
    Extremidade com
Outras soluções  
 
programming4us programming4us