Inquiridor
custom provider fba sharepoint 2010

Pergunta
-
Boa tarde, no moss 2007 desenvolvi um projeto utilizando um provider customizado que seguia basicamente os seguintes passos para criação:
Build a Custom Membership .dll
Add .dll to GAC - The Global Assembly Cache
SharePoint Central Administration - Configure web.config
SharePoint Central Administration - Administration
SharePoint Website - Configure web.config
Os passos podem visualizados neste artigo http://kidoos.net/content/SharePointCustomMemershipProvider.aspxTentei seguir estes mesmos passos para o sharepoint 2010 mas não obtive sucesso, pesquisei bastante e não consegui achar um artigo semelhante ao que utilizei no moss 2007.
Alguma ajuda por favor, ja procurei e ate agora nada.
abraços
Todas as Respostas
-
Olá!
No SharePoint 2010, autenticação Forms é baseada em Claims Authentication. Dê uma olhada no artigo abaixo. Ali tem tudo o que voce precisa para fazer esta configuração.
http://technet.microsoft.com/en-us/library/ee806890.aspx
Backer L. V. Rosa
-
Opa,
seguindo exatamente o artigo indicado encontrei alguns problemas, segue abaixo:
- Criei um novo site
- configurei para aceitar acesso anônimo
- Desmarquei autenticação windows
- Configurei a autenticação para FBA,
- Coloquei o nome do meu provider customizadoSalvei, as demais configurações ficaram as padrões
Configurações web.config adm central
- adicionei o assembly do provider
- e no systemweb adicionei meu provider customizado
Criei um novo site collection para o aplicativo web criado anteriormente e ja consegui definir um usuário que estava na tabela
do meu provider customizado.
No IIS do meu aplicativo web criado fiz as seguintes configurações:
- criei uma conexão para o meu banco onde fica minha tabela de usuarios do provider customizado
- em providers defini meu provider como padrão e configurei a conexao criada anteriormente
- quando acessava a opção usuários .net para ver todos os usuários cadastrados em minha tabela, recebia um erro que meu provider
não era seguro, assim temporariamente configurei o administration.config para aceitar providers considerados não seguros.
Feito isso consegui ver todos os usuários do meu provider no IIS
Depois disso acessei o site, apareceu a tela de login default, digitei o usuario e senha e ao confirmar recebi um erro génerico.
Configurei meu web.config na sessão customerros para remoteonly e ao tentar o acesso novamente,
recebi um erro que dizia que houve uma falha ao autenticar com o servidor.Baseado em todos os passos que descrevi vocês acham que faltou alguma coisa?
o que vi é que ainda não encontrei um artigo completo que mostrasse como utilizar um membership provider customizado com esse novo formato claims do sharepoint 2010.Qualquer ajuda é muito bem vinda, abraços.
-
Opa gente,
Estou quase conseguindo resolver, agora após logar recebo a msg acesso negado, e abaixo esta escrito:
No momento, você está conectado como: fulano
Alguem ja viu esse problema?
quando finalizar vou postar um artigo completo de como fazer essa configuração.
[]s
SauSlash Analista/Desenvolvedor Sharepoint 2010 -
Hi there SauSlash,
conseguiste resolver o problema?
Neste tipo de implementação já tenho alguma experiência, se precisares de ajuda apita.
Rodrigo ____, SharePoint Specialist, Evangelist
SharePointPt Founder (www.sharepointpt.org)
-
Bom dia Scoutman,
consegui resolver o problema, utilizando o artigo que utilizava no 2007 deu um pouco mais de trabalho.
Percebi que usando asp.net membership é bem mais fácil. estou escrevendo um artigo com todos os passos.
Mas basicamente o problema foi relacionado a configurações de web.config, as configurações ficariam assim:
web.config Administração Central
- adicionar o assembly do provider customizado
<add assembly="pitCustomMembership, Version=1.0.0.0, Culture=neutral, PublicKeyToken=17d7206906ea03bf" />
- configurar a string de conexão do provider<connectionStrings> <remove name="LocalSqlServer" /> <add connectionString="Data Source=localhost\sqlexpress;Initial Catalog=master;Persist Security Info=True;User ID=user;Password=pass" name="LocalSqlServer" providerName="System.Data.SqlClient" /> </connectionStrings>
- adicionar o provider no systemweb
<membership defaultProvider="pitMembership"> <providers> <clear /> <add name="pitMembership" type="pitCustomMembership.pitMembership" applicationName="/" connectionStringName="LocalSqlServer" enablePasswordReset="false" enablePasswordRetrieval="false" passwordFormat="Clear" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" /> </providers> </membership>
web.config Webservice sharepoint
- adicionar o assembly do provider customizado
<strong><add assembly="pitCustomMembership, Version=1.0.0.0, Culture=neutral, PublicKeyToken=17d7206906ea03bf" /> </strong>
- configurar a string de conexão do provider<connectionStrings> <remove name="LocalSqlServer" /> <add connectionString="Data Source=localhost\sqlexpress;Initial Catalog=master;Persist Security Info=True;User ID=user;Password=pass" name="LocalSqlServer" providerName="System.Data.SqlClient" /> </connectionStrings>
- adicionar o provider no systemweb<strong> <membership defaultProvider="i"><br/> <providers><br/> <clear /><br/> <add name="i" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" /><br/> <add name="pitMembership" type="pitCustomMembership.pitMembership" applicationName="/" connectionStringName="LocalSqlServer" enablePasswordReset="false" enablePasswordRetrieval="false" passwordFormat="Clear" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" /><br/> </providers><br/> </membership></strong>
- adicionar role do provider
<strong> <roleManager defaultProvider="c" enabled="true" cacheRolesInCookie="false"> <providers> <clear/> <add name="c" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" /> </providers> </roleManager></strong>
web.config token sercurity dentro do webapplication webservice
- adicionar o assembly do provider customizado
<strong><add assembly="pitCustomMembership, Version=1.0.0.0, Culture=neutral, PublicKeyToken=17d7206906ea03bf" /> </strong>
- configurar a string de conexão do provider
<connectionStrings> <remove name="LocalSqlServer" /> <add connectionString="Data Source=localhost\sqlexpress;Initial Catalog=master;Persist Security Info=True;User ID=user;Password=pass" name="LocalSqlServer" providerName="System.Data.SqlClient" /> </connectionStrings>
- adicionar o provider no systemweb
<membership defaultProvider="pitMembership"> <providers> <clear/> <add name="pitMembership" type="pitCustomMembership.pitMembership" applicationName="/" connectionStringName="LocalSqlServer" enablePasswordReset="false" enablePasswordRetrieval="false" passwordFormat="Clear" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" /> </providers> </membership>
- adicionar role do provider
<strong> <roleManager defaultProvider="c" enabled="true" cacheRolesInCookie="false"> <providers> <clear/> <add name="c" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" /> </providers> </roleManager></strong>
web.config do seu webapplication
Configurar idêntico a configuração do Webservice sharepoint citado anteriormente.
Alem dessas configurações no web.config, existe tambem um alerta no iis dizendo que seu provider não é confiável, isso pode ser contornado configurando o arquivo administration.config para tornar seu provider um trusted provider.
Quando conseguir escrever um artigo com todos os detalhes vou postar o link aqui.
Obrigado pela resposta
abraços
SauSlash Analista/Desenvolvedor Sharepoint 2010