Share via


Ocultando provedores de autenticação padrão no SharePoint 2010

Artigo original publicado em 8 de maio de 2011, domingo

Uma situação que ocorre com bastante frequência no SharePoint 2010 é o uso de uma única zona para vários provedores de autenticação.  Um dos motivos para que as pessoas façam isso é que elas querem usar um tipo de autenticação - como FBA ou SAML - mas também querem adicionar declarações do Windows para que a zona possa ser indexada pelo rastreador do SharePoint.  O problema dessa abordagem apresenta dois desdobramentos:

  1. Os usuários veem uma página de seleção de logon, onde eles precisam escolher a autenticação Windows ou outro tipo de autenticação
  2. Quando usuários são adicionados a um site (ou qualquer operação que invoque o selecionador de pessoas é executada), eles veem usuários do Active Directory no selecionador de pessoas juntamente com usuários dos provedores de autenticação de reclamação em uso.

Nesse caso, o que pode ser feito?  Bem, para resolver o primeiro problema, podemos escrever uma página personalizada de seleção de logon.  Já abordei esse cenário na minha postagem em https://blogs.msdn.com/b/sharepoint_br/archive/2011/06/27/ignorando-a-p-225-gina-sele-231-227-o-de-provedor-de-autentica-231-227-o-m-250-ltipla-no-sharepoint-2010.aspx.  Mas, e quanto ao segundo item - ocultando usuários AD, para que não sejam mostrados nos resultados de pesquisa do selecionador de pessoas?  Na próxima atualização cumulativa de abril de 2011, para o resgate! <NOTA RÁPIDA: Você pode enfrentar alguns problemas com isso na atualização cumulativa de abril; a atualização cumulativa de junho terá uma versão atualizada.> Sua quilometragem pode varias, portanto, fique à vontade para testar.   Depois de aplicada a atualização cumulativa de abril, você verá que SPClaimProviderDefinitions agora inclui uma nova propriedade chamada "IsVisible".  Você pode simplesmente defini-la como falsa para o provedor do Active Directory e ele não mostrará mais quando você usar o selecionador de pessoas.

Aqui está um pequeno snippet do PowerShell que mostra como fazer isso:

$cpm = Get-SPClaimProviderManager
$ad = get-spclaimprovider -identity "AD"
$ad.IsVisible = $false
$cpm.Update()

Algumas observações:

  1. O comando Get-SPClaimProvider, do PowerShell, retorna efetivamente uma SPClaimProviderDefinition, então está tudo bem.
  2. A identidade "AD" é usada porque este é o nome interno do provedor do Active Directory.

No meu teste limitado, não precisei sequer fazer um IISRESET após essa alteração; eu pude simplesmente continuar e o Active Directory não apareceu mais na lista de provedores de autenticação, no painel esquerdo do selecionador de pessoas.  Inversamente, quando alterei isso outra vez, ele começou a ser mostrado novamente e de imediato sem um IISRESET.

Nesse momento, a maior limitação do procedimento é que ele não aparece quando você impõe esse configuração na base de um por zona, o que poderia ser o ideal.  Se eu descobrir outra maneira de fazer isso, atualizarei esta postagem.

 

 

 

Esta é uma postagem de blog localizada. O artigo original pode ser encontrado em Hiding Default Authentication Providers in SharePoint 2010