none
custom provider fba sharepoint 2010 RRS feed

  • 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.aspx

    Tentei 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

    terça-feira, 26 de outubro de 2010 17:15

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

    http://www.sharepointiando.com.br

    quinta-feira, 28 de outubro de 2010 11:02
  • 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 customizado

    Salvei, 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.

    sexta-feira, 29 de outubro de 2010 11:38
  • 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
    segunda-feira, 1 de novembro de 2010 21:08
  • 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)

    quinta-feira, 11 de novembro de 2010 01:33
  • 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
    quinta-feira, 11 de novembro de 2010 12:06