AUTENTICACAO NO SERVIDOR SQL

LUIS.HERRERA 18/03/2014 17:30:20
#436237
Boa tarde.

Estou montando a parte de configurações do sistema, onde o TI deverá configurar meu sistema para várias coisas, inclusive o acesso ao servidor SQL.

Minha dúvida é quanto a forma de autenticação no servidor SQL, pois existe:
- Autenticação SQL (com usuário e senha)
- Autenticação Windows onde se usa o login dos usuários na rede.

Em meu desenvolvimento eu uso a conexão com autenticação Windows (Integrated Security=SSPI;)
Mas como meu sistema é usado por diversas empresas, não sei como cada uma configura o servidor SQL, então gostaria de saber como vocês procedem?

Na tela de configurações eu inclui os campos:
Nome Servidor
Instância
Banco
Usuário
Senha
Autenticado Windows (bool)

1) Assim se o SQL não for Windows se pode incluir o usuário e senha, mas....
Será que os DBA[ô]s ou TI[ô]s fazer a configuração do Servidor SQL com um usuário e senha para cada funcionário da empresa?

Se for assim complicaria muito esse cadastro.


2) Se eu deixar sempre como Autenticação Windows, pode ocorrer do meu programa ter problemas?

3) Será que o SQL pode ser configurado para não receber esse tipo de acesso?

4) Se o SQL estiver somente como Autenticação SQL, pode em uso ser alterado para aceitar também a Autenticação Windows?
LUIS.HERRERA 19/03/2014 17:17:32
#436262
Ninguém usa SQL SERVER com acesso multiusuário que tenha passado por essa situação?
FFCOUTO 19/03/2014 18:56:02
#436264
Resposta escolhida
Luis, boa noite

Eu utilizo a autenticação do próprio SQL. Cadastro cada usuário que vai usar o sistema e habilito o uso para o banco de dados que o programa usa. Além disso, tenho uma tabela de usuários onde armazeno informações pertinentes ao programa. A vantagem é que você não tem a necessidade de gerenciar as senhas, pois as mesmas estão no SQL, ou vantagem é o acesso remoto feito de qualquer lugar no mundo.
Qualquer dúvida entre em contato.
LUIS.HERRERA 20/03/2014 08:51:44
#436280
Bom dia Fabiano.

o Acesso tem duas situações distintas, uma é o acesso ao servidor SQL outra é o acesso ao meu sistema.

Bem a parte de acesso ao meu sistema, tenho de gerenciar senhas sim, pois há permissões específicas para cada funcionário/ação dentro do sistema. Isso já faço.

Minha questão é o acesso ao banco que é função do Cliente (empresa), pois meu sistema é para várias empresas. Sendo assim na conexão ao banco meu sistema tem de:
Passar usuário e senha (Autenticação SQL) ou
Só informar que é Autenticação Windows

Isso que quero saber, pois cada empresa pode ter o SQL server configurado de formas diferentes. Então supondo que o cliente configurou apenas como Autenticação SQL, como eu procederia no meu sistema?

Meu sistema é usado por mais de 80% dos funcionários de uma empresa, cada um com permissões distintas que são gerenciadas pelo meu sistema e não pelo TI no SQL Server.

Com isso vem a dúvida: Estou colocando uma tela de cadastro onde ele terá de incluir (01) Usuário e Senha para acesso ao meu banco. E todas as restrições meu sistema controla. Agora se o TI tem de criar uma acesso para cada usuário (funcionário) a coisa complica muito, pois se a empresa tiver 1000 funcionários terá de criar o acesso no SQL Server para os mil funcionários e no meu sistema teria de associar a conexão ao cadastro de usuários, que além do meu controle (usuário e senha) teria de incluir também o usuário e senha no SQL server.

O problema é que para acessar o banco de dados e criar os primeiros cadastro, já é necessário ter a conexão, mas se não tem ainda nenhum funcionário cadastrado, será impossível usar esse cadastro para acessar o banco.

Analisando acho que só deve existir um único Usuário/Senha para acesso ao meu banco pelo meu sistema, e esta informação é fornecida pelo TI no início do uso e gravado nas configurações do sistema.

Agora isso pode gerar algum problema?
Ex: Se tenho um único usuário e senha para meu sistema conectar no SQL Server e tenho 200 pessoas acessando simultâneo é possível? Cada micro com um usuário, mas todos usando o mesmo usuário/senha do SQL SERVER?
KERPLUNK 20/03/2014 18:02:58
#436313
Bem vindo à um dos maiores dilemas entre infra/desenvolvimento. Não existe uma resposta para isso. Tudo depende, e muito, da estrutura de cada empresa. A coisa funciona caso a caso. E eis aqui a maior justificativa para uso do WCF. Pois você fica responsável junto à equipe de infra pela conexão com o banco. O usuário mesmo não tem envolvimento com isso.
MOUSER 20/03/2014 20:51:20
#436319
Crie um bloco (Private Sub) de verificação com Try e If, para fazer da seguinte forma, Login com autenticação SQL, foi sucesso, loga no servidor, caso contrario, tente com autenticação Windows, se nenhuma das formas der certo, ele apresentara um erro na finalização do Try. Tente e me fale se deu erro...
LUIS.HERRERA 21/03/2014 08:07:50
#436331
Amigos obrigado pelas dicas e comentários. Vou tentar a sugestão do Fabiano Couto, usar autenticação SQL com meu sistema gerenciando a criação dos usuários no próprio SQL. Vou pesquisar sobre isso pois parece ser a melhor solução, facilitando o acesso remoto, além de tirar trabalho do TI com essa tarefa, o que melhora significativamente a imagem no meu sistema.

Qualquer coisa dou um [Ô]Alô[Ô] no futuro próximo (rs) valeu!
Tópico encerrado , respostas não são mais permitidas