none
Liberar acesso programaticamente RRS feed

  • Pergunta

  • Olá Pessoal,

    Estou com uma dúvida em relação a liberação de acesso programaticamente. Antes de mais nada gostaria de compartilhar o seguinte cenário:

    Hoje tenho uma extranet com vários subsites que são divididos por áreas. Uma delas chama-se Documentos, do qual possui uma biblioteca de documentos genérica com várias sub-pastas. Cada representante comercial acessa as pastas públicas (permissão herdada) que estão dentro desta biblioteca e também cada um possui uma pasta com seu código (herança quebrada) do qual cada um acessa a sua. Ex:

    Documentos Genéricos (biblioteca root)
       |-- Tabela de Preço (publica)
       |-- Procedimentos (publica)
       |-- Promoções (publica)
       |-- FUNC01 (privada)
       |-- FUNC02 (privada)
       |-- FUNC03 (privada)

    Até aí tudo bem, acontece que agora precisamos separar alguns itens por estado, para não atribuir arquivos idênticos nas pastas de cada representante. Uma idéia seria separar o diretório root por estado, conforme o seguinte exemplo:

    Documentos
       |-- Tabela de Preço (publica)
       |-- Procedimentos (publica)
       |-- Promoções (publica)
       |-- Estado
            |-- SP (privada)
                  |-- FUNC01 (privada)
            |-- RJ (privada)
                  |-- FUNC02 (privada)
                  |-- FUNC03 (privada)

    Aí alguns arquivos públicos a nível de estado, poderiam ficar na pasta do estado, para que demais representantes acessem o mesmo arquivo e com a mesma versão.

    O problema neste caso é que aí o representante teria que acessar o subsite > biblioteca > pasta estado > pasta codigo > arquivo. E isto não seria tão conveniente a nível de acesso. 

    Agora vem a pergunta!!

    Existe algum método para que pudesse ser feito o redirecionamento caso o representante clique em alguma pasta até outras subpastas de acordo com suas informações (no "profile" do usuário no sharepoint, cadastro informações completas como codigo, email, estado, etc)?

    Em todo caso também poderia utilizar outro modelo de pastas/ acesso, porém não consigo imaginar uma maneira melhor para a acessibilidade e a administração de acesso. Estou aberto a melhores sugestões!!

     

    Desde já agradeço a atenção de todos!

    Abraços,


    Tarcísio Gambin | MCP, MCBMSS
    "O conhecimento é livre. Compartilhe você também!"
    quinta-feira, 7 de outubro de 2010 19:58

Respostas

Todas as Respostas

  • Boa noite, Tarcisio!

    Voce poderia aplicar as permissões diretamente nos arquivos. Neste caso, não é necessário criar uma pasta para cada usuário e a navegação ficaria facilitada. Além do mais, esta estrutura complicaria se um arquivo precisasse ser acessado por dois usuários. Não estou certo se isto resolve seu problema.

    Sobre este direcionamento baseado no profile, não existe nada pronto. Teria que ser customizado via programação.

    Abraço,

    Backer L. V. Rosa

    www.sharepointiando.com.br

    segunda-feira, 11 de outubro de 2010 02:21
  • Olá Backer!

     

    Muito obrigado pela sua resposta, mas infelizmente o modelo de pasta/biblioteca única se tornaria inviável pois atualmente contamos com cerca de 5 mil arquivos e com 200 usuários distintos que devem ter acesso restrito (tabelas de preços, descontos e promoções específicas).

    Estes arquivos são atualizados (às vezes trocados por seus supervisores) no máximo a cada 2 dias, então esta troca poderia sobrescrever as permissões de arquivo (herdando da pasta pai) e comprometer a segurança do acesso aos arquivos.

    Estou acreditando que o modelo mais adequado para o nosso cenário seria o desenvolvimento. Mas o que seria recomendado?

    Pensei no desenvolvimento de alguma webpart de upload, que poderia conter as seguintes informações:

     

    Arquivo = FileBrowser

    Usuário = User Picklist

    Grupo (Estado) = Select Field

    É arquivo privado? = Checkbox

     

    Então esta webpart poderia fazer sim o upload para uma biblioteca única aplicado as permissões de acordo com o Grupo e colocando o arquivo como privado conforme selecionado, como voce havia comentado, aí ela serviria como único canal de envio de arquivos já configurando suas permissões e facilitando o acesso. Aí sim o cenário de diretório único se tornaria uma excelente opção.

    O que acha? Voce sabe se esta solução já existe ou conhece alguém que já implementou algo parecido?

     

    Desde já agradeço a atenção!

    Grande abraço,


    Tarcísio Gambin | MCP, MCBMSS
    "O conhecimento é livre. Compartilhe você também!"
    segunda-feira, 11 de outubro de 2010 13:15
  • Tarcisio,

    Se for SharePoint 2010, o caminho seria você obter essas informações via PowerShell do SharePoint 2010.

    Referência sobre o assunto: http://technet.microsoft.com/en-us/sharepoint/ff603532.aspx

    Ou então você pode utilizar o Web Services http://<Site>/_vti_bin/usergroup.asmx no 2007 ou 2010 para obter as informações que você precisa.

    Referência sobre o assunto: http://msdn.microsoft.com/en-us/library/ms774637(office.12).aspx

    abraço,

    Thiago Cruz Soares
    MCT, MCPD, MCTS, MCP
    @thiagosoareskb
    Projects with SharePoint 2010 - CodePlex - http://sharepointwebpro.codeplex.com/
    quarta-feira, 13 de outubro de 2010 13:05
  • Olá Thiago!

     

    Muito obrigado pelas respostas! Estou planejando implantar esta solução no WSS3 que temos atualmente, porém não sei como começar...

    Não sou desenvolvedor .NET mas pretendo adentrar neste caminho (atualmente trabalho com infra), pois querendo ou não vou precisar atuar nesta área.

    Não sei se voce (ou alguém da comunidade) poderia me indicar algum guia de "primeiros passos" com o desenvolvimento do WSS, pois estou meio perdido como começar rsrsrss... 

     

    Desde já agradeço a atenção de todos!

    Abraços,


    Tarcísio Gambin | MCP, MCBMSS
    "O conhecimento é livre. Compartilhe você também!"
    quarta-feira, 13 de outubro de 2010 16:36
  • Olá Pessoal,

    Gostaria de agradecer a todos pela colaboração, e comunicar que pretendo iniciar alguns alguns estudos na área de desenvolvimento através dos seguintes links:

    http://www.canalsharepoint.com.br/tutoriais/Tutoriais/Forms/AllItems.aspx

    http://www.microsoft.com/downloads/en/details.aspx?FamilyID=B885DCE8-C93F-48AA-B798-4422FEBCC200&displaylang=en

    Embora ainda não tenha encontrado a solução desejada, vou ver se consigo junto com o time de desenvolvedores .Net da empresa chegar a um resultado positivo o mais rápido possível.

    Obrigado!


    Tarcísio Gambin | MCP, MCBMSS
    "O conhecimento é livre. Compartilhe você também!"
    • Marcado como Resposta Tarcisio Gambin segunda-feira, 18 de outubro de 2010 16:00
    segunda-feira, 18 de outubro de 2010 16:00