none
Problema com nivel de permissão RRS feed

  • Pergunta

  • Pessoal, minha WebParts Inclui Dados em uma Lista. Porém, estou com problemas nas permissões. Para que o usuário tenha permissão para incluir nesta lista, a primeira o Opção do Nivel de permissão tem que estar marcada:

    Gerenciar Listas  -  Crie e exclua listas, adicione ou remova colunas em uma lista e adicione ou remova exibições públicas de uma lista

    Mas essa opção abre  toda a lista praticamente na Ações do Site, permitindo que tenha acesso em Editar as Permissões, Configurar Site e etc.

    Desrmarcando essa Opção, não deixa o usuário incluir na lista, dando o Erro Abaixo. Alguém pode ajudar nesta questão?

    0x80070005


    Junior Santana
    • Editado Jr_inc sexta-feira, 3 de fevereiro de 2012 14:17
    sexta-feira, 3 de fevereiro de 2012 14:16

Respostas

  • Bom pessoal... agradeço muito a ajuda de vcs todos.

    Depois de muitas tentativas, consegui sanar esse problema alterando uma linha e adicionando outra, veja só:

    Essa linha: using (SPSite site = new SPSite(“http://intranet/”))

    Troquei por essa:

    using (SPSite site = new SPSite(SPContext.Current.Site.ID))

    E adicionei essa:

    web.AllowUnsafeUpdates = true;

    Funcionou!!!!! Ufaaaaa

    Abraços a todos.


    Junior Santana

    • Marcado como Resposta Jr_inc quinta-feira, 16 de fevereiro de 2012 13:47
    quinta-feira, 16 de fevereiro de 2012 13:47

Todas as Respostas

  • Junior,

     

    existem várias opções até chegar em uma conclusão, porem, ja confirmou se o usuário tem permissão de edição nesta lista em que você tenta inserir itens?

    Pelo que você colocou ai em cima, parece que está alterando permissões de site.

    sem ela não é possível.

    caso tenha, descreva melhor o cenário desta web part, por exemplo, o usuário adiciona o item em uma pagina apos ela estar carregada ou é adicionado no momento do load automaticamente, tipo um contador de visitas?

     

    enfim, descreva melhor para que possamos ajudar.


    Abraço, Ivan Costa http://ivannw.wordpress.com twitter: @ivannw
    sexta-feira, 3 de fevereiro de 2012 19:34
  • Junior,

    existem várias opções até chegar em uma conclusão, porem, ja confirmou se o usuário tem permissão de edição nesta lista em que você tenta inserir itens?

    Pelo que você colocou ai em cima, parece que está alterando permissões de site.

    sem ela não é possível.

    caso tenha, descreva melhor o cenário desta web part, por exemplo, o usuário adiciona o item em uma pagina apos ela estar carregada ou é adicionado no momento do load automaticamente, tipo um contador de visitas?

    enfim, descreva melhor para que possamos ajudar.


    Abraço, Ivan Costa http://ivannw.wordpress.com twitter: @ivannw

    Ivan, como posso usar uma credencial neste código, sem ter que ficar dando permissão para os usuários?

    using (SPSite site = new SPSite(“http://intranet/”))

    {

    using (SPWeb web = site.OpenWeb())

    {

    SPList lista = web.Lists["Agenda Horarios "];

    SPListItemCollection todos = lista.Items;

    SPListItem item = lista.AddItem();

    item["Mensagem"] = “Minha reserva”;

    item["Hora de Início"] = “12:30:00″;

    item["Hora de Término"] = “13:30:00″;

    item.Update();

    }

    }


    Junior Santana

    terça-feira, 7 de fevereiro de 2012 18:10
  • Junior,

    Na hora de instanciar o SPSite, tem um construtor que você insere a url e um token.

    De uma olhada no link

    http://msdn.microsoft.com/en-us/library/ms469253.aspx

    Tem uma média de quantos usuários podem criar um item nessa lista?


    terça-feira, 7 de fevereiro de 2012 18:51
  • Junior, o que se faz é executar o código com elevação de privilégios, mas tenha certeza de que é necessário. Reitero o sentimento de que você está olhando permissão no lugar errado, mas de qualquer maneira segue o exemplo:

    SPSecurity.RunWithElevatedPrivileges(delegate()
    {
        using (SPSite site = new SPSite(web.Site.ID))
        {
        // implementation details omitted
        }
    });

    pode ler a referência completa em: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsecurity.runwithelevatedprivileges.aspx


    Abraço, Ivan Costa http://ivannw.wordpress.com twitter: @ivannw

    terça-feira, 7 de fevereiro de 2012 18:57
  • Junior, o que se faz é executar o código com elevação de privilégios, mas tenha certeza de que é necessário. Reitero o sentimento de que você está olhando permissão no lugar errado, mas de qualquer maneira segue o exemplo:

    SPSecurity.RunWithElevatedPrivileges(delegate()
    {
        using (SPSite site = new SPSite(web.Site.ID))
        {
        // implementation details omitted
        }
    });

    pode ler a referência completa em: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsecurity.runwithelevatedprivileges.aspx


    Abraço, Ivan Costa http://ivannw.wordpress.com twitter: @ivannw

    Ivan, deu esse MSG:

    A validação de segurança desta página é inválida. Clique em Voltar no navegador da Web, atualize a página e tente a operação novamente.


    Junior Santana

    quarta-feira, 8 de fevereiro de 2012 18:37
  • tenta um ctrl+f5 ai ou fechar o browser e abrir de novo...

    isso parece pagina expirada..


    Abraço, Ivan Costa http://ivannw.wordpress.com twitter: @ivannw

    quarta-feira, 8 de fevereiro de 2012 18:44
  • Junior,

    Na hora de instanciar o SPSite, tem um construtor que você insere a url e um token.

    De uma olhada no link

    http://msdn.microsoft.com/en-us/library/ms469253.aspx

    Tem uma média de quantos usuários podem criar um item nessa lista?


    Rafael, são bastante Usuários. Esse Token pode ser um unico?

    Junior Santana

    quarta-feira, 8 de fevereiro de 2012 18:52
  • tenta um ctrl+f5 ai ou fechar o browser e abrir de novo...

    isso parece pagina expirada..


    Abraço, Ivan Costa http://ivannw.wordpress.com twitter: @ivannw


    Continua a mesma MSG.

    Junior Santana

    quarta-feira, 8 de fevereiro de 2012 19:00
  • Junior, vou subir uma maquina aqui para simular seu problema.

    Me diga uma coisa, esse código é executado como evento de um botão ? como um page load da pagina?

    Tem mais algum código antes ou depois ? o problema pode não ser nesse trecho.

    Enquanto eu monto aqui, aguardo as respostas.


    Abraço, Ivan Costa http://ivannw.wordpress.com twitter: @ivannw

    quarta-feira, 8 de fevereiro de 2012 19:07
  • Junior, vou subir uma maquina aqui para simular seu problema.

    Me diga uma coisa, esse código é executado como evento de um botão ? como um page load da pagina?

    Tem mais algum código antes ou depois ? o problema pode não ser nesse trecho.

    Enquanto eu monto aqui, aguardo as respostas.


    Abraço, Ivan Costa http://ivannw.wordpress.com twitter: @ivannw

    Código completo da ação do Botão. (obrigado pela ajuda)

            protected void Button1_Click(object sender, EventArgs e)
            {
                CriaTableConsulta();
                try
                {
                    for (int i = 0; i < Calendar1.SelectedDates.Count; i++)
                    {
                        ano = Calendar1.SelectedDates[i].Year.ToString();
                        mes = Calendar1.SelectedDates[i].Month.ToString();
                        dia = Calendar1.SelectedDates[i].Day.ToString();
                    }
                    SPSecurity.RunWithElevatedPrivileges(delegate()
                    {
                    using (SPSite site = new SPSite("http://intranet/"))
                    {
                        using (SPWeb web = site.OpenWeb())
                        {
                            SPList lista = web.Lists["Agenda Massoterapeuta"];
                            SPListItemCollection todos = lista.Items;
                            if (txtnome.Text != "")
                            {
                                usuario = txtnome.Text;
                            }
                            string horaAgendar = dia + "/" + mes + "/" + ano + " " + DropDownList1.SelectedItem.Text + ":00";


                            erro.Text = "";
                            bool gravarHora = true;
                            foreach (SPListItem verItem in todos)
                            {

                                DataTable dados = new DataTable();
                                dados = (DataTable)Session["table2"];
                                DataRow linha;
                                linha = dados.NewRow();
                                string horaInicio = verItem["Hora de Início"].ToString();

                                linha["Data"] = horaInicio;

                                if (Label1.Text == "" || Label1.Text == "diferente")
                                {
                                    if (DateTime.Parse(horaInicio) == DateTime.Parse(horaAgendar))
                                    {
                                        Label1.Text = "Escolha Outro Horário!!!";
                                        gravarHora = false;
                                    }
                                    else
                                    {
                                        erro.Text = "diferente";
                                    }
                                }

                                dados.Rows.Add(linha);
                                Session["table2"] = dados;
                                GridView1.DataSource = dados;
                                GridView1.DataBind();

                            }

                            if (gravarHora)
                            {
                                SPListItem item = lista.AddItem();
                                item["Mensagem"] = usuario + ":" + DropDownList1.SelectedItem.Text;
                                item["Hora de Início"] = ano + "/" + mes + "/" + dia + " " + DropDownList1.SelectedItem.Text + ":00";
                                item["Hora de Término"] = ano + "/" + mes + "/" + dia + " " + DropDownList1.SelectedItem.Text + ":00";
                                item.Update();
                                Response.Redirect("http://intranet/Lists/Agenda%20Massagem/calendar.aspx");
                            }
                        }

                    }
                });

                   

                }
                catch (Exception ex)
                {
                    erro.Text = ex.Message;
                }
            }


    Junior Santana


    • Editado Jr_inc quarta-feira, 8 de fevereiro de 2012 19:32
    quarta-feira, 8 de fevereiro de 2012 19:30
  • Outra coisa, esses campos da lista

    "Mensagem"] = usuario +":"+ DropDownList1.SelectedItem.Text;

    item[

    "Hora de Início"] = ano +"/"+ mes +"/"+ dia +" "+ DropDownList1.SelectedItem.Text + ":00";

    item[

    "Hora de Término"] = ano +"/"+ mes +"/"+ dia +" "+ DropDownList1.SelectedItem.Text + ":00";

    São de que tipo? texto? data/hora ?


    Abraço, Ivan Costa http://ivannw.wordpress.com twitter: @ivannw

    quarta-feira, 8 de fevereiro de 2012 19:33
  • Outra coisa, esses campos da lista

    "Mensagem"] = usuario +":"+ DropDownList1.SelectedItem.Text;"Hora de Início"] = ano +"/"+ mes +"/"+ dia +" "+ DropDownList1.SelectedItem.Text + ":00";

    item[

    "Hora de Término"] = ano +"/"+ mes +"/"+ dia +" "+ DropDownList1.SelectedItem.Text + ":00";

    São de que tipo? texto? data/hora ?


    Abraço, Ivan Costa http://ivannw.wordpress.com twitter: @ivannw

    item[

    Mensagem é Texto.

    Os horários são Data/Hora.


    Junior Santana

    quarta-feira, 8 de fevereiro de 2012 19:38
  • Junior, Funcionou perfeitamente.

    Manda um print da tela de permissões da sua lista por favor. Acredito ainda que possa ser permissão.


    Abraço, Ivan Costa http://ivannw.wordpress.com twitter: @ivannw

    quarta-feira, 8 de fevereiro de 2012 20:07
  • Junior, Funcionou perfeitamente.

    Manda um print da tela de permissões da sua lista por favor. Acredito ainda que possa ser permissão.


    Abraço, Ivan Costa http://ivannw.wordpress.com twitter: @ivannw



    Junior Santana

    quinta-feira, 9 de fevereiro de 2012 10:53
  • Junior,

    Perguntei sobre a quantidade de usuários, pois você podia também customizar o nivel de permissão.

    ex.: Os usuários do grupo X podem criar itens mas não podem remove-los.

    Assim você nem precisaria mexer em codigo, será que resolve?

    Abs,

    quinta-feira, 9 de fevereiro de 2012 11:14
  • Qual o usuário que tenta gravar ?

    Outra coisa, voce tem um ambiente de desenvolvimento onde vc pode rodar pelo visual studio para poder debugar  e ver exatamente onde está parando

    ?


    Abraço, Ivan Costa http://ivannw.wordpress.com twitter: @ivannw

    quinta-feira, 9 de fevereiro de 2012 11:16
  • Qual o usuário que tenta gravar ?

    Outra coisa, voce tem um ambiente de desenvolvimento onde vc pode rodar pelo visual studio para poder debugar  e ver exatamente onde está parando

    ?


    Abraço, Ivan Costa http://ivannw.wordpress.com twitter: @ivannw


    é o usuário que está em verde (Controle Total), vou tentar ver no Debug.

    Junior Santana

    quinta-feira, 9 de fevereiro de 2012 11:27
  • Qual o usuário que tenta gravar ?

    Outra coisa, voce tem um ambiente de desenvolvimento onde vc pode rodar pelo visual studio para poder debugar  e ver exatamente onde está parando

    ?


    Abraço, Ivan Costa http://ivannw.wordpress.com twitter: @ivannw

    Não consegui Debugar, deu essa msg:


    Junior Santana

    quinta-feira, 9 de fevereiro de 2012 11:59
  • Junior, vamos lá.

    Você esta desenvolvendo isso em VS 2010 certo?

    Você tem um ambiente de desenvolvimento?

    Você consegue montar um com as mesmas coisas do de produção?

    Ja tentou por um try {} catch{} e cuspir a stack de erro?

    Se é local, voce tem o sharepoint 2010 + vs 2010, dentro do projeto, é só dar F5.

    Caso contrario, entra no meu blog ai e deixa um comentário com seu email, é moderado e aparece só pra mim, assim combinamos de fazer um acesso remoto para que eu possa ver... aproveita que estou com tempo.. rsrsr

    depois postamos a resposta aqui. agora fazer isso na base da tentativa e erro vamos gerar 2000 respostas e não vamos resolver.

    abraço!


    Abraço, Ivan Costa http://ivannw.wordpress.com twitter: @ivannw

    quinta-feira, 9 de fevereiro de 2012 12:37
  • Junior, vamos lá.

    Você esta desenvolvendo isso em VS 2010 certo?

    Você tem um ambiente de desenvolvimento?

    Você consegue montar um com as mesmas coisas do de produção?

    Ja tentou por um try {} catch{} e cuspir a stack de erro?

    Se é local, voce tem o sharepoint 2010 + vs 2010, dentro do projeto, é só dar F5.

    Caso contrario, entra no meu blog ai e deixa um comentário com seu email, é moderado e aparece só pra mim, assim combinamos de fazer um acesso remoto para que eu possa ver... aproveita que estou com tempo.. rsrsr

    depois postamos a resposta aqui. agora fazer isso na base da tentativa e erro vamos gerar 2000 respostas e não vamos resolver.

    abraço!


    Abraço, Ivan Costa http://ivannw.wordpress.com twitter: @ivannw

    o Stack deu essa msg:

    at Microsoft.SharePoint.SPGlobal.HandleComException(COMException comEx) at Microsoft.SharePoint.Library.SPRequest.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bUpdateNoVersion, Int32& plID, String& pbstrGuid, Guid pbstrNewDocId, Boolean bHasNewDocId, String bstrVersion, Object& pvarAttachmentNames, Object& pvarAttachmentContents, Object& pvarProperties, Boolean bCheckOut, Boolean bCheckin, Boolean bMigration, Boolean bPublish, String bstrFileName, ISP2DSafeArrayWriter pListDataValidationCallback, ISP2DSafeArrayWriter pRestrictInsertCallback, ISP2DSafeArrayWriter pUniqueFieldCallback) at Microsoft.SharePoint.SPListItem.AddOrUpdateItem(Boolean bAdd, Boolean bSystem, Boolean bPreserveItemVersion, Boolean bNoVersion, Boolean bMigration, Boolean bPublish, Boolean bCheckOut, Boolean bCheckin, Guid newGuidOnAdd, Int32& ulID, Object& objAttachmentNames, Object& objAttachmentContents, Boolean suppressAfterEvents, String filename) at Microsoft.SharePoint.SPListItem.UpdateInternal(Boolean bSystem, Boolean bPreserveItemVersion, Guid newGuidOnAdd, Boolean bMigration, Boolean bPublish, Boolean bNoVersion, Boolean bCheckOut, Boolean bCheckin, Boolean suppressAfterEvents, String filename) at Microsoft.SharePoint.SPListItem.Update() at MySuite.Agenda.AgendaUserControl.<button1_click></button1_click>b__0() at Microsoft.SharePoint.SPSecurity.<>c__DisplayClass4.<runwithelevatedprivileges></runwithelevatedprivileges>b__2() at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode) at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object param) at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated secureCode) at MySuite.Agenda.AgendaUserControl.Button1_Click(Object sender, EventArgs e)


    Junior Santana

    quinta-feira, 9 de fevereiro de 2012 13:40
  • Junior,

    Caso sua web part seja sandbox, não é possível utilizar o recurso de RunWithElevatedPrivileges. Ainda acho que a melhor maneira é você realizar uma customização no nível de permissão e caso ainda seja necessário, criar sua webpart.

    Até pq acho que a utilização do RunWithElevatedPrivileges deve ser somente em casos muito específicos.

    Abs,


    • Editado Rafael Fausto quinta-feira, 9 de fevereiro de 2012 13:48
    quinta-feira, 9 de fevereiro de 2012 13:46
  • Junior, vamos lá.

    Você esta desenvolvendo isso em VS 2010 certo?

    Você tem um ambiente de desenvolvimento?

    Você consegue montar um com as mesmas coisas do de produção?

    Ja tentou por um try {} catch{} e cuspir a stack de erro?

    Se é local, voce tem o sharepoint 2010 + vs 2010, dentro do projeto, é só dar F5.

    Caso contrario, entra no meu blog ai e deixa um comentário com seu email, é moderado e aparece só pra mim, assim combinamos de fazer um acesso remoto para que eu possa ver... aproveita que estou com tempo.. rsrsr

    depois postamos a resposta aqui. agora fazer isso na base da tentativa e erro vamos gerar 2000 respostas e não vamos resolver.

    abraço!


    Abraço, Ivan Costa http://ivannw.wordpress.com twitter: @ivannw

    Criei um projeto Web a parte, adicionei as Referências do SharePoint e compilei, no TryCath deu essa MSG:

    at Microsoft.SharePoint.SPSite..ctor(SPFarm farm, Uri requestUri, Boolean contextSite, SPUserToken userToken) at Microsoft.SharePoint.SPSite..ctor(String requestUrl) at testes._Default.Button1_Click(Object sender, EventArgs e) in c:\users\temp.alusa.025\documents\visual studio 2010\Projects\testes\testes\Default.aspx.cs:line 123

    using (SPSite site = new SPSite("http://intranet/"))


    Junior Santana

    quinta-feira, 9 de fevereiro de 2012 15:40
  • Junior,

    Caso sua web part seja sandbox, não é possível utilizar o recurso de RunWithElevatedPrivileges. Ainda acho que a melhor maneira é você realizar uma customização no nível de permissão e caso ainda seja necessário, criar sua webpart.

    Até pq acho que a utilização do RunWithElevatedPrivileges deve ser somente em casos muito específicos.

    Abs,



    Rafael, eu até tentei, mas o nivel de permissão que deixa o usuário inclui na lista, abre muitas Opções nas Aba "Ações do Site"

    Junior Santana

    quinta-feira, 9 de fevereiro de 2012 15:42
  • Se você colocar um grupo de usuários com permissão para somente adicionar itens e visualizar itens na lista, ele não terá praticamente nenhuma opção no Ações do Site.

    Caso você mesmo assim prefira utilizar o desenvolvimento, existe algum motivo para você não desenvolver uma web part? Pelo que entendi você está somente criando um projeto web. ASP.NET?

    Abs,

    quinta-feira, 9 de fevereiro de 2012 16:26
  • Se você colocar um grupo de usuários com permissão para somente adicionar itens e visualizar itens na lista, ele não terá praticamente nenhuma opção no Ações do Site.

    Caso você mesmo assim prefira utilizar o desenvolvimento, existe algum motivo para você não desenvolver uma web part? Pelo que entendi você está somente criando um projeto web. ASP.NET?

    Abs,

    Estou usando o Calendario do SharePoint para criar uma Agenda de Reservas, essa WebParts foi criada por que existem algumas regras e conexões com bd, que só consegui fazer no asp.net.

    Vou tentar criar esse grupo.


    Junior Santana

    quinta-feira, 9 de fevereiro de 2012 16:59
  • Junior, alguma novidade?
    sexta-feira, 10 de fevereiro de 2012 11:32
  • Junior, alguma novidade?

    Nada ainda.

    Tenho um Grupo no AD com todos os usuários, a principio eles estão na Lista com a permissão de  "Leitura", mesmo quando add a permissão Adicionar e ver Itens da Lista, não dá acesso para eles inclui na lista.´Só da permissão quando coloco essa Permissão abaixo, mas ela abre muitas opções na Aba "Ações do Site"

    Gerenciar Listas  -  Crie e exclua listas, adicione ou remova colunas em uma lista e adicione ou remova exibições públicas de uma lista


    Junior Santana

    sexta-feira, 10 de fevereiro de 2012 12:59
  • Você pode dar um print nas permissões dessa lista?
    sexta-feira, 10 de fevereiro de 2012 13:12
  • Você pode dar um print nas permissões dessa lista?


    Junior Santana

    sexta-feira, 10 de fevereiro de 2012 13:59
  • Junior, mude a permissão  e marque o adicionar e o editar itens na primeira imagem.

    poste o resultado.


    Ivan Costa http://ivannw.wordpress.com @ivannw

    sexta-feira, 10 de fevereiro de 2012 14:54
  • Junior, mude a permissão  e marque o adicionar e o editar itens na primeira imagem.

    poste o resultado.


    Ivan Costa http://ivannw.wordpress.com @ivannw

    Esse erro:

    at Microsoft.SharePoint.Utilities.SPUtility.HandleAccessDenied(Exception ex) at Microsoft.SharePoint.Library.SPRequest.AddOrUpdateItem(String bstrUrl, String bstrListName, Boolean bAdd, Boolean bSystemUpdate, Boolean bPreserveItemVersion, Boolean bUpdateNoVersion, Int32& plID, String& pbstrGuid, Guid pbstrNewDocId, Boolean bHasNewDocId, String bstrVersion, Object& pvarAttachmentNames, Object& pvarAttachmentContents, Object& pvarProperties, Boolean bCheckOut, Boolean bCheckin, Boolean bMigration, Boolean bPublish, String bstrFileName, ISP2DSafeArrayWriter pListDataValidationCallback, ISP2DSafeArrayWriter pRestrictInsertCallback, ISP2DSafeArrayWriter pUniqueFieldCallback) at Microsoft.SharePoint.SPListItem.AddOrUpdateItem(Boolean bAdd, Boolean bSystem, Boolean bPreserveItemVersion, Boolean bNoVersion, Boolean bMigration, Boolean bPublish, Boolean bCheckOut, Boolean bCheckin, Guid newGuidOnAdd, Int32& ulID, Object& objAttachmentNames, Object& objAttachmentContents, Boolean suppressAfterEvents, String filename) at Microsoft.SharePoint.SPListItem.UpdateInternal(Boolean bSystem, Boolean bPreserveItemVersion, Guid newGuidOnAdd, Boolean bMigration, Boolean bPublish, Boolean bNoVersion, Boolean bCheckOut, Boolean bCheckin, Boolean suppressAfterEvents, String filename) at Microsoft.SharePoint.SPListItem.Update() at MySuite.Agenda.AgendaUserControl.Button1_Click(Object sender, EventArgs e)


    Junior Santana

    sexta-feira, 10 de fevereiro de 2012 15:30
  • Junior,

    Do jeito que você está fazendo, todos os usuários com permissão de leitura poderão adicionar itens  em listas e bibliotecas.

    O correto é você criar seu próprio nivel de permissão a partir de um já existente.

    E na tela que você mostrou, os usuários nem tinham permissão de adicionar e visualizar itens.

    sexta-feira, 10 de fevereiro de 2012 16:32
  • Junior,

    Do jeito que você está fazendo, todos os usuários com permissão de leitura poderão adicionar itens  em listas e bibliotecas.

    O correto é você criar seu próprio nivel de permissão a partir de um já existente.

    E na tela que você mostrou, os usuários nem tinham permissão de adicionar e visualizar itens.


    Mas agora, mesmo colocando isso, ainda não esta dando certo.

    Junior Santana

    sexta-feira, 10 de fevereiro de 2012 17:13
  • Seguinte,

    Você mandou o print das permissões do usuário com poder de leitura. Tem como você mandar um print das permissões da lista que você está usando na sua web part?


    • Editado Rafael Fausto sexta-feira, 10 de fevereiro de 2012 17:18
    sexta-feira, 10 de fevereiro de 2012 17:17
  • Seguinte,

    Você mandou o print das permissões do usuário com poder de leitura. Tem como você mandar um print das permissões da lista que você está usando na sua web part?



    Quando abro as permissões da Lista, ele me traz as Permissões do Site Pai, como usarei tbm para outros cenarios, usu as permissões do pai.

    Junior Santana

    sexta-feira, 10 de fevereiro de 2012 17:24
  • Faz o seguinte teste.

    1 - Cria um nível de permissão com o nome de colaborador customizado baseado no leitura, mas adiciona o adicionar itens e exibir itens.

    2 - Crie um novo grupo com o nome de xpto.

    3 - Coloque a permissão do grupo xpto como colaborador customizado

    4 - Adicione um usuário no grupo xpto

    5 - Pare a herança de permissão da lista e adicione o grupo xpto na lista, com o nivel de colaborador customizado.

    6 - Manda um print da list

    sexta-feira, 10 de fevereiro de 2012 17:40
  • Bom pessoal... agradeço muito a ajuda de vcs todos.

    Depois de muitas tentativas, consegui sanar esse problema alterando uma linha e adicionando outra, veja só:

    Essa linha: using (SPSite site = new SPSite(“http://intranet/”))

    Troquei por essa:

    using (SPSite site = new SPSite(SPContext.Current.Site.ID))

    E adicionei essa:

    web.AllowUnsafeUpdates = true;

    Funcionou!!!!! Ufaaaaa

    Abraços a todos.


    Junior Santana

    • Marcado como Resposta Jr_inc quinta-feira, 16 de fevereiro de 2012 13:47
    quinta-feira, 16 de fevereiro de 2012 13:47