Compartilhar via


Criar um personalizado Federados Web Part de pesquisa com um credenciais interface do usuário

Dica

Este tópico descreve uma funcionalidade que parte o Infrastructure Update for Microsoft Office Servers.   Para baixar a atualização, consulte Descrição da atualização de infra-estrutura SharePoint Server 2007: 15 º de julho de 2008.

Usando Pesquisa da empresa no Microsoft Office do SharePoint Server 2007 para criar Federados locais, você pode incluir itens do de conteúdo repositórios que não são indexados pelo pesquisador de servidor de pesquisa. Quando você cria uma localidade federada, você deve também especificar seu tipo de autenticação.

Especificando um tipo de autenticação

O tipo de autenticação para uma localidade federada você criar pode ser uma do seguinte:

  • Anônimo sem credenciais são exigido para conectar para a localidade federada.

  • Comuns cada conexão usa o mesmo conjunto de credenciais para conectar para a localidade federada.

  • Por-usuário as credenciais do usuário que enviou a consulta pesquisa são usados para conectar para a localidade federada.

Para o comum e por-usuário autenticação tipos, você deve também especificar um do seguinte protocolos autenticação:

  • Básico

  • Digest

  • Identidade NTLM Application Pool (comum tipo de autenticação apenas)

  • O NTLM

  • Kerberos (por-usuário tipo de autenticação apenas)

  • Formulários

  • Cookie

Usando o Part federado da pesquisa para as credenciais de usuário do Access

Em situações em que a localidade federada é uma localidade OpenSearch e a localidade está configurada para por-usuário autenticação, credenciais de usuário são automaticamente passadas se Kerberos autenticação está sendo usada. Entretanto as credenciais não são passadas automaticamente para outros protocolos autenticação. Para autenticação para trabalho nessas situações, você deve criar personalizado versões de pesquisa federada Web Parts a solicitação credenciais do usuário a, para que as credenciais possam ser passadas na solicitação para a localidade federada.

Este tópico discute os requisitos para e fornece algumas orientações sobre como criar um personalizado versão de uma federado pesquisa Web Part com uma interface usuário credenciais (interface do usuário) para Pesquisar da empresa.

Primeiro, examinamos a nova pesquisa federada Web Parts ? Federados resultados e os resultados Federados superior ? em Pesquisar da empresa e as classes relacionado a eles no namespace Microsoft.Office.Server.Search.WebControls Microsoft.Office.Server.Search.WebControls.

Dica

O osssearchshort Pesquisar da empresa modelo de objeto de consulta (localizada no namespace Microsoft.Office.Server.Search.Query Microsoft.Office.Server.Search.Query) não fornece acessar aos resultados pesquisa federado.Para personalizar a pesquisa federada interface do usuário, você deve implementar uma classe que herda a partir de um do novo federado pesquisa Web Parts.

Federado Resultados da Web Part

O Federados Resultados da Web Part exibe os resultados de uma localidade federado especificado. Você pode especificar somente uma localidade federado em um Federated Results Web Part. Por padrão, Pesquisar da empresa fornece duas Federated Results Web Parts, um que exibe relacionado procura de Windows Live Search e o outro que exibe Windows Live Search resultados.

Você implementar a Federados Resultados da Web Part no Microsoft.Office.Server.Search.WebControls.FederatedResultsWebPart Microsoft.Office.Server.Search.WebControls.FederatedResultsWebPart classe.

Superior Federados Resultados da Web Part

A parte superior Federados Resultados da Web Part exibe os resultados a partir de localidade federado primeiro para retornar resultados da pesquisa. Você pode configurar múltiplo locais para a Web Part, na ordem prioridade. Por padrão, não locais são configurados para esta Web Part.

Você pode implementar o Top Federated Results Web Part no Microsoft.Office.Server.Search.WebControls.TopFederatedResultsWebPart Microsoft.Office.Server.Search.WebControls.TopFederatedResultsWebPart classe.

Classe base SearchResultsBaseWebPart

O classe FederatedResultsWebPart FederatedResultsWebPart e TopFederatedResultsWebPart TopFederatedResultsWebPart classe herdam as mesmas classe base: Microsoft.Office.Server.Search.WebControls.SearchResultsBaseWebPart.

Criando o projeto da Web Part

Você pode usar Microsoft Office SharePoint Designer 2007 para importação Web Parts para Web pages, mas não para criar novo Web Parts. Para desenvolver um assembly Web Part personalizado, você deve usar um ferramenta de desenvolvimento such as Microsoft Visual Studio 2005.

Para obter informações adicionais sobre como criar personalizado Web Parts usando Visual Studio 2005, consulte o seguinte:

Adicionar referências do projeto

Você pode também get iniciado com o solução Web Part personalizado criando um projeto em Visual Studio 2005 usando modelos de projeto de biblioteca de classes ou biblioteca de controle da Web. Depois de criar o projeto, você deve adicionar o seguinte faz referência a seu projeto:

  • Componente Microsoft Search (Microsoft.Office.Server.Search.dll)

  • Os serviços SharePoint Windows (Microsoft.SharePoint.dll)

Adicionando a classe Parte da Web

Você deve adicionar uma classe para o projeto Web Part e especificar que ele herda de uma das classes Web Part pesquisa federado. A seguir é exemplos declaração de classe para Web Part o personalizado.

Código listagem 1. Herança de classe de SearchResultsBaseWebPart

public class CustomFederatedSearchWebPart : Microsoft.Office.Server.Search.WebControls.SearchResultsBaseWebPart 

Código listagem 2. Herança de classe de FederatedResultsWebPart

public class CustomFederatedSearchWebPart : Microsoft.Office.Server.Search.WebControls.FederatedResultsWebPart

Código listagem 3. Herança de classe de TopFederatedResultsWebPart

public class CustomFederatedSearchWebPart : Microsoft.Office.Server.Search.WebControls.TopFederatedResultsWebPart 

Implementar a classe personalizada da Web Part

Para implementar o personalizado Web Part para suporte por-usuário autenticação situações onde a localidade federada estiver em um servidor remoto, você executar três etapas:

  1. Solicite as credenciais de usuário.

  2. Crie um objeto ICredentials ICredentials com credenciais de usuário.

  3. Passe o objeto ICredentials ICredentials para solicitação de pesquisa para a localidade federada.

Considerações sobre Segurança

Altamente recomendamos que você use um Seguro conexão ao coletar credenciais de usuários.

Solicitando as credenciais do usuário

Sua solução Web Part interface do usuário personalizado deve fornecer uma maneira para inserir suas credenciais de usuário. Você apresentação este interface do usuário somente se o Web Part não possuir credenciais de usuário.

Você pode substituir uma do seguinte métodos para exibir as credenciais interface do usuário:

  • Render

  • CreateChildControls

Em qualquer método, você deve incluir codificar para verificar se você já tiver credenciais do usuário a e em caso afirmativo, não processar as credenciais interface do usuário. Você deve também chamar base.Render() ou base.CreateChildControls() após sua codificar para exibir as credenciais interface do usuário.

Dica

Após adicionar seu personalizado Web Part para uma pesquisa resulta página, você deve configurar uma localidade federada para a Parte da Web no painel de ferramenta antes que a Web Part vai ser exibida na página.

Criando o objeto ICredentials

Você cria um objeto https://msdn2.microsoft.com/en-us/library/system.net.icredentials.aspx ICredentials para transmitir credenciais de usuário que o usuário inseriu.

Se você estiver criando uma Web Part para esta solução (para que as credenciais interface do usuário é exibido na mesma Web Part conforme o personalizado federado pesquisa resultados), e em seguida, você pode substituir OnLoad método do Web Part para captura de credenciais. Você pode verificar se a página foi lançada voltar para determinar se você deve verificar para credenciais inseridas pelo usuário, conforme o seguinte exemplo de código.

protected override void OnLoad(EventArgs e)
{
   if (this.Page.IsPostBack)
   {
/*
uCredentials is a class level variable for an ICredentials object.
domainName is a string variable containing the domain
userName and passWord are examples of text box controls added in the previous step.
*/
      uCredentials = new NetworkCredential(userName.Text, passWord.Text, domainName);
   }
   base.OnLoad(e);
}

Se as credenciais interface do usuário está contido em um Web Part difere os resultados da pesquisa federado, você deve substituir a Web Part Init método de inicialização em vez disso.

Passar as credenciais para o local federado

Depois de obter as credenciais do usuário, você pode transmiti-los primeiro para solicitação de pesquisa e, em seguida, para a localidade federada. Para fazer isso, configuração de UserCredentials UserCredentials do objeto fonte de dados que está associado com a Web Part.

Cada pesquisa federada Web Part classe possui um associado classe fonte de dados, conforme listado na seguinte tabela.

Web Part classe Classe de fonte de dados

SearchResultsBaseWebPart

SearchResultsBaseDatasource

FederatedResultsWebPart

FederatedResultsDatasource

TopFederatedResultsWebPart

TopFederatedResultsDatasource

Para configurar propriedades fonte de dados federado localidade da Web Part, você deve substituir o método ConfigureDataSourceProperties ConfigureDataSourceProperties e chamar UserCredentials.Add UserCredentials.Add, conforme o seguinte do fonte de dados exemplo.

protected override void ConfigureDataSourceProperties()
{
    base.ConfigureDataSourceProperties();
    SearchResultsBaseDatasource ds = this.DataSource as SearchResultsBaseDatasource;
    ds.UserCredentials.Add("LocationInternalName", uCredentials);
}

Consulte também

Referência

WebControls
SearchResultsBaseWebPart
SearchResultsBaseDatasource
SearchResultsBaseDatasourceView
FederatedResultsWebPart
FederatedResultsDatasource
FederatedResultsDatasourceView
TopFederatedResultsWebPart
TopFederatedResultsDatasource

Outros recursos

Visão geral sobre de pesquisa federado
Personalizado Federados de exemplo de pesquisa da Web Part