none
the insert permission was denied on the object 'TB_PERFIL' database 'EXPENSES' schema 'dbo' RRS feed

  • Pergunta

  • Olá boa tarde,

    Tenho no projeto MVC uma action index com rotina para checar se o perfil foi criado:

     

    public class LoginController : Controller

        {

            // GET: Login

            public ActionResult Index()

            {

                //Cria perfil de Administrador na primeira carga do sistema

                PerfilBLL perBLL = new PerfilBLL();

                if (perBLL.ChecarPerfilAdmin() == true)

                {

                    //Cria usuário coligado ao administrador na primeira carga do sistema

                    UsuarioBLL usuBLL = new UsuarioBLL();

                    usuBLL.ChecarUserAdm();

                }

               

                return View();

            }}

    E na função de Criar Perfil quando chega no método adicionar é chamado uma função no repositório para salvar via entity definitivamente no banco.

    public class PerfilBLL : CriptografiaBLL

        {

            public Contexto db;

            public PerfilBLL()

            {

                db = new Contexto();

            }

            public bool ChecarPerfilAdmin()

            {

                PerfilDAL perDAL = new PerfilDAL(db);

                MLL.Perfil perAdmin = perDAL.Tudo()

                                            .Where(p => p.Nome_Perfil == "Administrador")

                                            .OrderBy(p => p.Nome_Perfil).FirstOrDefault();

                if (perAdmin == null)

                {

                    MLL.Perfil perfil = new MLL.Perfil();

                    perfil.Nome_Perfil = "Administrador";

                   

                    if (perDAL.Adicionar(perfil) == true)

                    {

                        return true;

                    }

                    else

                    {

                        return false;

                    }

                }

                else

                {

                    return false;

                }

            }

    }



    public virtual bool Adicionar(T item)

            {

                try

                {

                    _contexto.Set<T>().Add(item);

                    _contexto.SaveChanges();

                    return true;

                }catch(Exception ex)

                {

                    erro = ex.Message;

                    return false;

                }

            }



    Quando chega no SaveChanges ocorre um erro de exceção na propriedade inner exception do entity:

    "

    the insert permission was denied on the object 'TB_PERFIL' database 'EXPENSES' schema 'dbo'

    "

    Já tentei dar permissão de INSERT no SQL Server 2017 na tabela TB_PERFIL no schema dbo atrelando o usuário IISAPPPOOL\DefaultAppPool mas mesmo assim o erro persiste!!


    Gostaria dessa ajuda!!

    Obrigado

    sexta-feira, 14 de setembro de 2018 16:12