none
Boa Prática de desenvolvimento de acesso a sistemas RRS feed

  • Pergunta

  • Pessoal

     

    Gostaria de ajuda de como posso criar uma boa politica de acesso a sistemas, usando VB.Net e SQL Express.

     

    Vou explicar melhor o que quero.

     

    Até hoje, nos sistemas que desenvolvi em VB6/Access, sempre criei um cadastro de usuários, com login e senha; quando o usuário acessava o sistema, a primeira tela era a de logon; porém, quando essa tela aparecia, eu já havia logado no banco de dados do sistema, até porque eu precisava validar o login e a senha do usuário e no caso do Access não há multiusuário para restringir o acesso ao banco (não que eu saiba...).

     

    Agora com SQL Server, não gostaria de usar a mesma prárica, ou seja, não gostaria de criar uma string de conexão usando o usuário "sa" e depois validar o usuário através de uma tabela comum no banco de dados; outro ponto contra, é que nesse caso, quando voce monitora o banco de dados, se voce tem 10 conexoes, voce tem 10 usuários "sa" conectados. Acho que não fica bacana fazendo assim.

     

    Então gostaria da opinião dos amigos mais experientes nessa questão para eu poder desenvolver uma técnica mais segura e mais eficiente também.

     

    Obrigado a todos,

     

    Antonio Carlos C. Frederico

    Maringá - PR

    quarta-feira, 17 de outubro de 2007 13:39

Respostas

  • Olá,

    temos diversos webcasts sobre o tema desenvolvimento seguro, em especial técnicas corretas para o acesso a banco de dados, webservices e autorização. Veja no MSDN Media Center.

    []'s

    Weber Ress
    sábado, 10 de maio de 2008 03:26

Todas as Respostas

  • Se vc estiver em um ambiente microsoft (Servidor Windows com autenticação em Active Directory) você pode utilizar trusted connection e configurar o acesso utilizando o usuário de login da rede.

     

     

    Se ajudou, classifique o post !

     

    Obrigado

    quarta-feira, 17 de outubro de 2007 16:15
  • Felipe,

     

    Obrigado pela dica, mas o caso no qual irei me basear é naquele onde as vezes o sistema é acessado de fora da empresa, atraves de notebooks ligados a redes sem fio, ou em filiais, e, nem sempre, sob a tutela do AD....

     

    Eu estava pensando em criar uma tabela de usuários de sistema, onde nela seriam colocadas os dados pertinentes ao usuário em relação à politica de sistema, mas ao mesmo tempo, criaria um usuário também na tabela USERS do SQL Server. No momento de fazer o logon no sistema, a tela de login antecederia a string de conexão; com isso, os dados de login e senha que o usuário forneceria seriam usados tambem para autenticar a conexão do banco de dados.

     

    Não sei se consegui ser claro no que estou querendo fazer, mas seria isso.

     

    E a minha maior preocupação é procurar ser dinamico, usar técnicas avançadas e seguras para isso.

     

    De qualquer forma vou procurar aprender mais sobre trusted connection. Não deixa de ser uma alternativa interessante, para quando o usuário está dentro da rede corporativa...

     

    Valeu e obrigado,

     

    Fred

     

    quarta-feira, 17 de outubro de 2007 19:03
  • SUgestao

    use os usuario do SQL Server, eu faco dessa forma, e na hora que vou fazer a conecao ao Banco de Dados eu monto a string de conecxao com  usuario e senha que ele forneceu, se conectou, é pq é valido, se nao, (tirando erros de desenvolvimento) é pq nao é usuario valido.

     

    Code Block
    Coneccao.open "Provider=SQLOLEDB.1;Password=" & Senha & ";Persist Security Info=True;User ID=" & Usuario & ";Initial Catalog=DBTeste;Data Source=Server\SQL2k5"

     

     

     

    acho que com isso fica mais facil de entender

    fazendo dessa forma, o usuario pode acessar de fora da rede e vc tem toda a segurança do SQL, e tem os IDs e nomes dos usuarios no

     

    select * from sys.sysusers

     

    bem..qualquer duvida a mais, vc da um grito, que no que eu puder te ajudo

    T+
    abs

    segunda-feira, 26 de novembro de 2007 17:35
  • Olá,

    temos diversos webcasts sobre o tema desenvolvimento seguro, em especial técnicas corretas para o acesso a banco de dados, webservices e autorização. Veja no MSDN Media Center.

    []'s

    Weber Ress
    sábado, 10 de maio de 2008 03:26