Como configurar a Autenticação Baseada em Formulários (FBA)
Este post é uma adaptação de um blog, que eu considero a autoridade suprema para FBA configuração, escrito por Chris Coulson,
Leia a autoridade suprema aqui para 2016 e aqui para 2013
2010 – Veja as etapas de 2013, certifique-se de que o 2010 do aplicativo web usa autenticação baseada em declarações, em seguida, depois que tudo é o mesmo, você não pode usar um clássico de aplicação web.
nota: com este método, você não precisa modificar a web.configuração do administrador central ou de qualquer um dos aplicativos da web, presente ou futuro. Você só precisa modificar a máquina.config e a web.configuração dos serviços da Web SecurityTokenServiceApplication.
então; este é o método preferido. Existem outros métodos por aí que você modifica a web do administrador central.config, a web.configuração de cada aplicativo da web e do aplicativo de serviço de token de segurança web.config; mas, quem quer ir a todo esse problema. E tem que repetir para cada novo aplicativo da web, não menos. Sou preguiçoso e prefiro que o FBA seja uma possibilidade em todos os aplicativos da web futuros e atuais. Eu também fico muito esboçado quando penso em Modificar a web do administrador central.config; então, é por isso que o método que é explicado em detalhes, no blog de Chris Coulson, é ideal.
etapas de alto nível
- Crie o banco de dados executando aspnet_regsql.exe encontrado em c:\windows\Microsoft.NET\Framework64\v4.0.30319 \
- faça backups de todos os arquivos que você está prestes a modificar, por exemplo, a máquina.config, a web.configuração do SecurityTokenServiceApplication
- faça as edições, prestando muita atenção às seções em que você está. Certifique-se de que, ao modificar o provedor de associação, secção, e o papel de provedor de seção, que você não modifique o fornecedor de perfis de seção
- Atualizar o Provedor de Autenticação do aplicativo web
- Instalar o apropriado FBAPack solução para facilitar o gerenciamento de usuários
- 2016 – https://www.visigo.com/products/sharepoint-fba-pack/download/
- 2013 – ir para o visigo site para a versão estável mais recente deste download grátis
- 2010 – vá para o visigo site para a versão estável mais recente deste download grátis
- início de sessão com o windows creds e adicionar um usuário FBA, em seguida, teste a que os vários e que você pode fazer o login com o usuário FBA
etapas mais detalhadas
Crie o banco de dados executando aspnet_regsql.exe
- faça Login no seu servidor SharePoint
- navegue até c:\windows\Microsoft.NET\Framework64\v4.0.30319\
- execute aspnet_reqsql.exe como administrador
- após o ASP.NET o Assistente de configuração do SQL é aberto, leia as informações e clique em Avançar, como um chefe!
- na tela Selecionar uma opção de configuração, use a seleção padrão de “configurar SQL Server para serviços de aplicativos” e clique em Avançar, clique novamente como um chefe!
- Em “Selecione o Servidor e o Banco de dados” de tela, digite o Alias para o SQL server, ou o nome do SQL Server, se deus me livre de você não usar um alias quando você configurar o farm, e
- aceitar o <por omissão> nome do banco de dados. Se você alterar o nome do banco de dados, certifique-se de atualizar o nome na entrada para a máquina.Config connection string nas próximas etapas. Este post assume que você deixou o nome < padrão > como mostrado na próxima captura de tela. Deixar o nome padrão cria um banco de dados chamado aspnetdb.
- Clique em Avançar
Aviso: O exemplo acima, à esquerda o nome e o padrão utilizado o SQL Alias <- essa última frase foi falado em “SharePoint ” Nerd” e traduzido significa “eu usei um Alias SQL e banco de dados portátil”
Após clicar em avançar, será exibida a seguinte tela e você deve clicar em avançar, se você estiver OK com a informação. Não faz mal lê-lo, pois se houver um erro de Digitação, esta é a sua chance de alterá-lo.
em seguida, na próxima tela, clique em Concluir.
- faça Login no seu SQL server
- abra o SQL Server Management Studio (SSMS.exe) e forneça sua conta do SharePoint Farm, a conta de serviço que executa os Serviços Compartilhados e o pool de aplicativos de pesquisa e a(s) Conta (s) de serviço do pool de aplicativos do conteúdo da web ou do site db_owner no aspnetdb.
Nota: se você receber algum tipo de erro sobre não conseguir se conectar à instância do SQL server, verifique se os serviços do SQL server e do SQL server agent foram iniciados. Não se preocupe com o navegador SQL Server
- clique na pasta de segurança para expandi-la
- clique na pasta logins para expandi-la
- clique com o botão direito do mouse na(s) Conta (s) de usuário executando o pool de aplicativos security token service (você pode determinar isso no inetmgr.exe no seu SharePoint server)
- clique em propriedades
- clique em Mapeamento de Usuário
- Selecione o aspnetdb nos Usuários mapeados para este logon janela
- Atribuir a dbo no Banco de dados de associação da função: o que conta em que você está trabalhando com
- clique em Ok
Fazer backup dos arquivos que você está prestes a modificar, por exemplo, a máquina.config, a web.configuração do SecurityTokenServiceApplication
- navegue até C:\Windows\Microsoft.Net\Framework64\v4.0.30319\Config
- faça um backup da máquina.config e salve-o com um .extensão bak
- edite a máquina.config
- Role para a <ConnectionStrings>
As seqüências de conexão seção será parecido com a imagem acima
- adicione o seguinte código para ele
1
|
<adicionar connectionString=”Server=SharePointSQL;Banco de dados=aspnetdb;Integrated Security=true” name=”FBADB” />
|
Nota: pode ser necessário modificar o nome do SQL Server a partir do Alias que eu estava usando. Você pode não ter um alias no lugar e você pode determinar isso olhando cliconfg.exe. Certifique – se de que a linha de código que diz ” Server=SharePointSQL….is atualizado para qualquer que seja o seu servername, ou de preferência o seu alias (por exemplo, “Server = SPAlias….ou ” Server = MDCP15SQL … ou qualquer outra coisa)
depois que as strings de conexão forem atualizadas, será algo assim:
Encontre a seção< associação > < provedores>, ficará assim
Nota: Você vai ser a adição de uma seção para a <associação> <provedores> e o <Papel> <Provedores> não é o perfil de fornecedores
certifique-se de atualizar as seções corretas
- Adicionar este para os provedores de Associação
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<adicionar nome=”FBAMembershipProvider”
type=”do Sistema.Site.Seguranca.SqlMembershipProvider, Sistema.Web, Versão = 4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”
connectionstringname com=”FBADB”
enablePasswordRetrieval=”false”
enablePasswordReset=”true”
requiresQuestionAndAnswer=”false”
applicationName=”/”
requiresUniqueEmail=”true”
passwordFormat=”Hash”
maxInvalidPasswordAttempts=”5″
minRequiredPasswordLength=”7″
minRequiredNonalphanumericCharacters=”1″
passwordAttemptWindow=”10″
passwordStrengthRegularExpression=”” />
|
- Agora adicione isso aos provedores de função
1
2
|
<adicionar nome=”FBARoleProvider” connectionstringname com=”FBADB” applicationName=”/”
type=”do Sistema.Site.Seguranca.SqlRoleProvider, Sistema.Web, Versão = 4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” />
|
O produto acabado deve olhar como este
Observe como as edições não foram feitas para o Perfil de Fornecedores. Cuidado com isso, é fácil perder.
Agora abra o aplicativo de Serviço de Token de segurança web.config
- open IIS manager (inetmgr.exe)
- Expanda sites
- Expandir os serviços web do SharePoint
- botão direito do mouse no SecurityTokenServiceApplication
- clique em Explorar
- Tirar uma cópia da web.config como um backup e salve-o com um .bak extensão
- Adicione o seguinte logo acima do último fechamento de configuração do tag </configuração>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
<system.web>
<associação>
<provedores de>
<adicionar nome=”FBAMembershipProvider”
type=”do Sistema.Site.Seguranca.SqlMembershipProvider, Sistema.Web, Versão = 4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”
connectionstringname com=”FBADB”
enablePasswordRetrieval=”false”
enablePasswordReset=”true”
requiresQuestionAndAnswer=”false”
applicationName=”/”
requiresUniqueEmail=”true”
passwordFormat=”Hash”
maxInvalidPasswordAttempts=”5″
minRequiredPasswordLength=”7″
minRequiredNonalphanumericCharacters=”1″
passwordAttemptWindow=”10″
passwordStrengthRegularExpression=”” />
</fornecedores>
</associação>
<roleManager>
<provedores de>
<adicionar nome=”FBARoleProvider” connectionstringname com=”FBADB” applicationName=”/”
type=”do Sistema.Site.Seguranca.SqlRoleProvider, Sistema.Web, Versão=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” />
</provedores de>
</roleManager>
</do sistema.web>
|
quando terminar, deve ficar assim, só que não terá a mancha amarela.
Ok, Agora você está pronto para fazer o SharePoint trabalhar com essas alterações, certifique-se de torná-los em todos os servidores no farm se você tiver mais de um servidor SharePoint. Não é necessário no SQL. Abra a administração Central apenas para ter certeza de que você não aniquilou sua fazenda. Abra algumas coleções de sites que estão no aplicativo da web que aplicarão o FBA.
você pode redefinir o IIS para uma boa medida, mas realmente não deve ser necessário, pois as alterações nesses arquivos fazem com que isso aconteça automaticamente, ou pelo menos deveria.
Atualizar o Provedor de Autenticação do aplicativo web
- Abra administração Central e navegue para gerenciar aplicativos web
- Se não estender aplicativo web para outro horário, e usando de dupla autenticação, selecione o aplicativo web e clique em provedores de autenticação da faixa de opções. Caso contrário, estenda o aplicativo da web e, na zona estendida, defina o FBA.
para definir o FBA execute o seguinte:
- Vá em Gerenciar Aplicativos Web
- Selecione o aplicativo Web no qual você deseja configurar a Autenticação Baseada em Formulários
- Clique em Provedores de Autenticação
- Selecione a Zona que você deseja configurar, neste exemplo, estamos a configuração dual (autenticação Integrada do Windows e FBA)
uma Vez que a zona de configuração de tela abre,
- role para baixo até a seção relacionada com a FBA e adicionar os nomes que você usou o provedor de associação e o papel de provedor de seções da .alterações no arquivo de configuração. Se você não modificou os nomes dos provedores de associação e função nas seções de código que lêem <add name= “FBAMembershipProvider”….e <Adicionar nome= ” FBARoleProvider….. então você pode usar esses nomes, senão use o que você os alterou também.
- Você está indo para marque a caixa de seleção Habilitar Autenticação Baseada em Formulários (FBA) e, de seguida, introduza os nomes que você usou
- Clique em salvar para Salvar as alterações
Agora se você tentar abrir um aplicativo web e um conjunto de sites, você está indo para obter o padrão de Sinal de linha de comandos para a FBA, que irá permitir que você escolha entre Integrada do Windows ou Autenticação Baseada em Formulários
Você ainda não posso usar a FBA, mesmo se você selecioná-lo e tentar usá-lo, porque não há qualquer FBA usuários no aspnetdb neste momento. O pacote FBA permitirá que você adicione usuários ao banco de dados. O post de 2013 no Blog de Chris Coulson para 2013 SharePoint explica outro método.
solução FBA Pack
a solução FBA Pack permitirá que você adicione e gerencie usuários
baixe a solução e implante-a em seu servidor SharePoint. Ele vem com um script de implantação realmente incrível que permite segmentar um aplicativo da web ou todo o farm.
depois de salvar a solução, em c:\deploy, por exemplo, abrir uma administrativas shell de gerenciamento do SharePoint e execute-o como mostrado abaixo, se você quiser implantadas em todo o farm
Se você quiser implementado para um aplicativo web específico, em seguida, em vez de escrever .\implantar.ps1 você digite .\implantar.ps1 http://urlToThatSpecificWebApplication.Domain.com onde domain.com é seu domínio e nível superior sufixo de domínio (e.g. sharepoint.local, springfield.local, bdbsa.org, ssa.gov, ou spt.local, ou whatevs)