Pergunta

Eu estou usando segurança integrada em um ASP.net aplicação, o IIS e SQL Server são hospedados no mesmo computador servidor executando o Windows Server 2008 R2.

É possível permitir que os usuários acessem o aplicativo a partir de toda a rede E usuários logados, mas não deixá-los a acessar o banco de dados diretamente ou através do SQL Server Management Studio?

Eu estou tentando salvaguardar o acesso ao banco de dados, porque a minha ideia é que o aplicativo seja implantado no servidor do cliente no cliente do local.

Aqui está a minha seqüência de caracteres de conexão que eu estou usando atualmente

<add connectionString="Server=.\sqlexpress;Database=DB89akwA;Integrated Security=true" name="LocalSqlServer" providerName="System.Data.SqlClient" />

<add connectionString="Server=.\sqlexpress;Database=DB89akwA;Integrated Security=true" name="MainAppConnectionString" providerName="System.Data.SqlClient" />

Estas são as duas seqüências de caracteres de conexão que eu estou usando atualmente, um é para ASP.net a Autenticação e a segunda é usada pelo meu aplicativo.Estas seqüências de caracteres são iguais e do mesmo banco de dados.

Alguma sugestão?

Foi útil?

Solução

Não é possível a "proteger" um banco de dados em execução no cliente local.Equipe do cliente pode obter a senha do ASP.Net seqüência de caracteres de conexão.Um administrador de domínio pode sempre acessar o banco de dados (não é um artigo do MSDN, descrevendo o processo: Conectar-se ao SQL Server Quando os Administradores de Sistema Estão Bloqueados).

Se você deseja ocultar a Propriedade Intelectual sentir seu banco de dados, então a única solução é não implantar o banco de dados no cliente premissa (usar um banco de dados hospedado como o SQL Azure, por exemplo).

Se você simplesmente quer evitar o cliente de interferir com o banco de dados que você pode estipular isso no contrato.Auditoria e detecção de interferências é possível.

Outras dicas

Sim, isso é completamente possível.Uma Pessoa registrada no ASP.NET usando segurança integrada não pode fazer logon no SQL Server com as mesmas credenciais.Ambos são completamente desconectado.Isso só é possível se o SQL Server foi configurado para permitir-lhes o acesso.

Meu conselho seria para criar Logon do SQL e usuários, e apenas dar-lhes acesso ao SQL Server.Na sua aplicação, quando você criar a Seqüência de caracteres de Conexão, não defina a segurança integrada para verdadeiro, e apenas permitir que o usuário digite seu Sql nome de usuário e senha para acessar o banco de dados.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top