Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) ACCESS 2007 (FrontEnd) SQL SERVER (BackEnd) LOGON (Multius


GTeubl

Pergunta

Salve rapaziada!

Há 2 anos eu utilizo o Access com controle de nivel de acesso de usuários (Acess anterior ao 2007, extensão ".mdb").

O banco armazena cerca de 7000 registros, algumas dezenas de tabelas, forms, consultas e relatórios e 5 usuários logados.

Acontece que estou em um outro projeto em que aumentarei consideravelmente o número de registros no banco de dados, tabelas e usuarios conectados ao mesmo tempo.

Estou falando de algo em torno de 150 pessoas logadas, 200k de registros e diversas tabelas.

Estudei o assunto e achei que a melhor solução seria utilizar o access 2007 tão somente como frontend e usar o MS SQL SERVER 2008 como backend.

Tá tudo maravilha, tabelas vinculadas, formularios, consultas e relatorios rodando bonitinho porém, eu não tenho tela de LOGO, todo mundo é administrador.

Fiz uma busca no fórum e as soluções que encontrei se referem a autenticação e logon no próprio ACCESS, porém, eu gostaria que a segurança fosse feita no SQL Server.

A minha ideia seria, ao entrar no ACCESS 2007, abreria um formulario de login e senha.

Após o usuário fazer a identificação, a autenticação ocorreria no SQL Server.

Eu estou há 3 dias procurando isto no GOOGLE e em foruns, encontrei gente que faz isto, mas não encontrei o código. E quando eu encontro o código ele vem fragmentado...

Acho que o esquema seria fazer a autenticação por VBA, correto? Ou existe alguma tela de login do próprio ACCESS ?

Como ficaria a politica de expiração de senha, mudança de senha no primeiro acesso que hoje existe no SQL Server, seria possível implementar ?

Eu particularmente não gosto da politica de autenticação no SQL SERVER por meio da autenticação do windows, pois se algum funcionário está com algum problema relativo a restrição e o supervisor tem que implementar alguma coisa com o seu login, o supervisor deveria fazer logoff do sistema e login com seu usuario e senha no Windows....

Desde já agradeço pela ajuda.

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0
Boa noite amigo,

Veja se este sistema de login ajuda no que precisa:

http://www.professorlar.com/contarcliques4..._Telefonica.zip

Olá Leandro,

Este sistema está fantástico mas ele esta autenticando o usuário no próprio Access.

Seria exatamente isto, só que ao invés de ele conferir a senha do formulário login com a tabela de usuarios e senha do banco de dados "_be" do Access, ele deveria conferir com o sistema de login e senha do SQL Server.

Como sabemos, no SQL server, os usuários estão em "security" e não em "table". Aqui nós estamos "criando" um sistema de login porém, eu gostaria de utilizar o sistema que já existe no SQL Server.

Daria para fazer isto que Você está fazendo, criando as tablelas "tblLogin", "tblNivel" e "tblUsuario" no servidor SQL, mas como eu disse, eu gostaria de autenticar utilizando o sistema de autenticação do SQL Server.

Editado por GTeubl
Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia Amigo,

Para você utilizar o sistema de autenticação que já existe no SQL, você precisará de criar login e senha para cada usuário.

Como fazer:

- Abra o Management Studio.

- Vá na opção Security / Logins.

- Clique com o botão direito em Logins e depois New Login.

- Deixe marcado a opção "SQL Server Authentication".

- Coloque o login e senha que desejar.

- Faça as demais configurações de acesso.

Algumas informações:

- você terá que ter permissão para criar os logins e senhas.

- As senhas somente são alteradas por usuários que tenham permissão para tal.

- Via script as senhas poderão ser alteradas (alter login LoginUsuario with password='aaa'), mas você terá que estar logado como administrador.

Link para o comentário
Compartilhar em outros sites

  • 0
Bom dia Amigo,

Para você utilizar o sistema de autenticação que já existe no SQL, você precisará de criar login e senha para cada usuário.

Como fazer:

- Abra o Management Studio.

- Vá na opção Security / Logins.

- Clique com o botão direito em Logins e depois New Login.

- Deixe marcado a opção "SQL Server Authentication".

- Coloque o login e senha que desejar.

- Faça as demais configurações de acesso.

Algumas informações:

- você terá que ter permissão para criar os logins e senhas.

- As senhas somente são alteradas por usuários que tenham permissão para tal.

- Via script as senhas poderão ser alteradas (alter login LoginUsuario with password='aaa'), mas você terá que estar logado como administrador.

Perfeito Mestre!

Foi criado os logins da forma que Voce falou.

Como eu faço agora para " acessar" ? É por script do vba?

As minhas tabelas do access já estão vinculadas com o DB do SQL SERVER por meio do tutorial ODBC do Access. Só que estes vínculos foram feitos com o login e senha de administrador e aí, talvez não se aplique as restrições de login e senha do SQ SERVER... talvez eu tenha que relinkar as tabelas após logar no meu sistema, para ver as permissões.

Note que talvez eu não consiga fazer o mais obvio para Vocês, mas eu não sou tão experiente...

Revisando:

De um lado eu tenho um SQL SERVER com os logins criados da forma que Você falou.

Do outro eu tenho um ACCESS.

A única forma que eu sei fazer eles "conversarem" é por meio do tutorial ODBC em que você vincula uma tabela já colocando o login e senha. Só que seu eu for desenvolver vinculos por meio do tutoria em 150 máquinas eu vou ficar biruta !

Daí eu pensei em fazer um único ACCESS em que dependendo das permissões concedidas no SQL Server o usuário vai poder ler ou gravar nas tabelas que já estão linkadas (vinculadas)....

Editado por GTeubl
Link para o comentário
Compartilhar em outros sites

  • 0

Boa tarde Amigo,

A forma de acesso aí dependerá da linguagem que utiliza. No seu caso, dá para utilizar o VBA.

Não sei a forma que você utilizou para realizar a conexão entre Access e SQL. O mais conhecido e utilizado é o Linked Server do SQL. você cria e consegue acessar/manipular dados em outras bases. O link abaixo possui explicações e exemplos:

http://www.devmedia.com.br/articles/viewcomp.asp?comp=5739

Link para o comentário
Compartilhar em outros sites

  • 0
Boa tarde Amigo,

A forma de acesso aí dependerá da linguagem que utiliza. No seu caso, dá para utilizar o VBA.

Não sei a forma que você utilizou para realizar a conexão entre Access e SQL. O mais conhecido e utilizado é o Linked Server do SQL. você cria e consegue acessar/manipular dados em outras bases. O link abaixo possui explicações e exemplos:

http://www.devmedia.com.br/articles/viewcomp.asp?comp=5739

Olá!

Neste link ele ensina a fazer um linked server SQL -> ACCESS DB, ou seja, é o SQL utilizando alguma tabela que está em um DB do Access.

Eu estou tentando fazer com que o Access utilize o sistema de logon do SQL Server da seguinte forma:

1) Ao abrir o ACCESS é aberto um formulário ou uma tela do ACCESS pedindo o login e senha. (igual ao exemplo do Leandro)

2) O login e senha do Access é autenticado no sistema de logon do SQL Server

3) Dependendo do login utilizado (nivel do usuário) o usuário poderia apenas ler a tabela ou ler e gravar.

Mas eu já estou desistindo, talvez seja melhor bolar outra forma...

Talvez a solução seja controlar o sistema de LOGON pelo próprio ACCESS, como fez o Leandro... daí o dele já está pronto.

Leandro, no seu sistema, o commando CurrentUser() vai aparecer sempre como "admin" não é? Existe como mudar isto (sem ser pelo sistema do controle de nivel usuário do access anterior ao 2007 .mdb)? Ou seria melhor usar aquele seu exemplo em que Você pega o usuário logado no windows e não o usuário do Access ?

Fulvio e Leandro, muito obrigado pela força, dá para ver que Vocês estão sempre tentando sanar as dúvidas dos usuários do forum de forma inquietante, parabéns!

Editado por GTeubl
Link para o comentário
Compartilhar em outros sites

  • 0

Se o pessoal vai "logar" pelo Access, não vale a pena tentar acessar o sql apenas para autenticar o usuário.

Uma idéia seria você armazenar os logins e senhas no SQL (em tabela), utilizando os comandos próprios do SQL para criptografia (aí você acessaria diretamente o sql). Após a validação, liberar o acesso.

você encontra vários exemplos de criptografia boas na net. Caso fique dificil o que precisa, pode utilizar scripts para criptografar os dados.

O que precisar é só postar!! Estamos aqui pra ajudar mesmo. Obrigado. :.)

Link para o comentário
Compartilhar em outros sites

  • 0
Se o pessoal vai "logar" pelo Access, não vale a pena tentar acessar o sql apenas para autenticar o usuário.

Uma idéia seria você armazenar os logins e senhas no SQL (em tabela), utilizando os comandos próprios do SQL para criptografia (aí você acessaria diretamente o sql). Após a validação, liberar o acesso.

você encontra vários exemplos de criptografia boas na net. Caso fique dificil o que precisa, pode utilizar scripts para criptografar os dados.

O que precisar é só postar!! Estamos aqui pra ajudar mesmo. Obrigado. :.)

Acho que este é o caminho!

Muito obrigado!

Editado por GTeubl
Link para o comentário
Compartilhar em outros sites

  • 0

Boa noite amigo,

Eu gosto muito de usar o 'usuário logado na rede do windows' porque através do acesso no sistema operacional, eu já posso controlar o nível dele (administrador, operador...) e abrir as telas de acordo com o nome de usuário logado.

Aguardo novo contato, para postarmos este tópico como resolvido.

Um grande abraço!

Link para o comentário
Compartilhar em outros sites

  • 0
Boa noite amigo,

Eu gosto muito de usar o 'usuário logado na rede do windows' porque através do acesso no sistema operacional, eu já posso controlar o nível dele (administrador, operador...) e abrir as telas de acordo com o nome de usuário logado.

Aguardo novo contato, para postarmos este tópico como resolvido.

Um grande abraço!

No fim utilizei o usuário logado.

Pode postar como resolvido.

Qualquer novidade eu posto aqui, muito obrigado por tudo.

Um abraço,

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...