Pergunta

Estou trabalhando em um site de Moss 2007 que usa o recurso ViewFormPagesLockDown para impedir que os usuários anônimos acessem os formulários de lista padrão. Não quero perder a segurança adicional que esse recurso fornece, mas existem algumas listas em que os usuários anônimos devem ter acesso aos formulários.

Existe algo que eu possa fazer nas configurações da lista, modelo de lista ou código de recurso que impedirá uma lista ou formulário específico de exigir spbasepermissions.ViewFormPages?

Foi útil?

Solução

Não consegui encontrar uma maneira de contornar isso. O suporte ao recurso de bloqueio parece estar assado na classe de formulário. Em vez disso, o que fizemos foi criar uma página separada com sua própria ListFormWebPart. A seguir, é apresentada uma adaptação de uma entrada do nosso blog interno, onde descrevi as etapas para permitir que um usuário anônimo adicione novos itens a uma lista:

Nas configurações da lista, vá para configurações avançadas. Verifique se o acesso de leitura está definido para todos os itens. Retorne às configurações da lista e selecione Permissões para esta lista. Quebrar a herança do site selecionando ações> Editar permissões. Nota: Se você vir uma caixa de seleção à esquerda dos nomes, esta etapa já foi feita. Depois que as permissões personalizadas forem definidas, selecione Configurações> Acesso anônimo. Verifique Adicionar itens e clique em OK. Para preencher o acesso anônimo Retornar às configurações> Configurações avançadas e redefinir para selecionar apenas o seu próprio para acesso de leitura e acesso e editar e clique em OK.

Crie uma nova página usando ações do site> Criar página. Abra o site SharePoint Designer. Clique com o botão direito do mouse na página recém -criada e selecione destacar no layout da página. Posicione o cursor em uma zona da Web Part e selecione Inserir> SharePoint Controls> Formulário de lista personalizado. Selecione a lista apropriada e o novo formulário de item e clique em OK. No painel de código, mudança DataSourCemode no recém -criado DataFormWebPart do listItem para as webs. Deixando a configuração padrão do ListItem, os usuários anônimos recebem um erro "Acesso negado. Você não tem permissão para executar essa ação ou acessar esse recurso". Salve e visualize a página no navegador.

Para obter melhores resultados, use apenas o SharePoint Designer em um servidor de desenvolvimento. Para migrar a WebPart para a produção, abra a página no servidor de desenvolvimento no navegador e selecione Exportar no menu Webpart. Salve o arquivo Webpart. Abra a página no servidor de produção no navegador e selecione a página Editar nas ações do site. No menu na barra de ferramentas da página, selecione Página> Adicionar Web Parts> Import. Digite a localização do arquivo WebPart salvo no servidor de desenvolvimento e clique em Upload. Em seguida, arraste o WebPart importado do painel da ferramenta à direita para a zona desejada da WebPart. Para salvar a página, clique em Publicar.

Outras dicas

Uma pergunta mais antiga, mas pensei em adicionar outra opção que você pode usar para fazer isso.

Solução:Como Rich mencionou a herança de permissão de interrupção na lista. Alterne o recurso ViewFormPagesLockDown OFF.
Defina usuários anônimos para ter acesso à lista. Alterne o recurso ViewFormPagesLockDown.

Os usuários anônimos agora devem poder acessar as páginas do aplicativo apenas para a lista.

O porquê:O recurso ViewFormPagesLockDown remove as permissões "View Application Pages" e "Use interfaces remotas" da função de permissão "Acesso limitado". No entanto, os usuários anônimos não recebem as alterações nessas funções até alternar a opção de acesso anônimo. Isso funciona em um nível de site ou lista. Portanto, se você deseja que uma web ou lista específica tenha acesso anônimo diferente às páginas de aplicativos, você pode usar a solução acima para alterar isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top