Como: Acesso o SQL servidor usando um usuário do domínio Windows mapeada
Por padrão, quando um aplicativo ASP.net é executado, o aplicativo é executado em um contexto de uma conta de usuário local especial nomeada ASPNET (no Microsoft Windows 2000 e Microsoft Windows XP) ou NETWORK SERVICE (no Microsoft Windows Server 2003).Essa conta de usuário tem direito a acesso limitado.De qualquer forma, a conta ASPNET é local para o servidor Web.Devido à conta ASPNET ser local ao servidor WEB, ela não é reconhecida como um usuário de um computador remoto.Para lidar com essa limitação, você pode rodar o seu aplicativo no contexto de um usuário do domínio Windows que é reconhecido tanto no servidor Web como no computador que está rodando o Microsoft SQL Server.
Mapear seu processo do aplicativo para uma conta de usuário do domínio Windows requer a configuração do seguinte:
O Servidor Web.
Você deve verificar se a conta de usuário do domínio Windows que foi especificado tem permissões suficientes (e não mais) para rodar um aplicativo Web.
Seu Aplicativo.
Você deve configurar o arquivo Web.config para o ASP.NET reconhecer o nome do domínio da conta do usuário.
Observação: Para informações sobre os arquivos Machine.config e Web.config, veja Visão Geral da Configuração ASP.NET.
A Sequência de conexão.
Quando você cria uma string de conexão para um objeto de conexão em seu aplicativo, você deve especificar que sua string de conexão usará a segurança integrada do Windows.
Servidor SQL.
Você deve adicionar a conta especificada de usuário do domínio como um logon de usuário do Servidor SQL.
Configurando uma conta de usuário no Servidor Web.
Para determinar as permissões do usuário para a conta de usuário do domínio Windows
No servidor Web, use as ferramentas administrativas do Windows para verificar se a conta de usuário mapeada do domínio Windows possui as permissões necessárias.
Para informações detalhadas, consulte ASP.NET Required Access Control Lists (ACLs).
Execute aspnet_regiis.exe com a opção -ga para conceder as permissões de usuários comuns que são requeridos pela identidade que será usada para a representação no aplicativo.
Mapeando para a conta de usuário do Windows e habilitando representação
Após estabelecer os direitos de usuário corretos para a conta de usuário do domínio, configure a representação de identidade do aplicativo.
Observação de segurança: |
---|
Quando você coloca as credenciais de um usuário no arquivo Web.config, existem potenciais ameaças de segurança.Usuários com permissão de acesso à pasta contendo o arquivo Web.config podem ler o arquivo, e assim ver as credenciais.Para detalhes sobre como se proteger contra essa ameaça, veja Criptografando informações de configuração usando configuração protegida. |
Para configurar o aplicativo Web para representação
Abra o arquivo Web.config para o seu aplicativo, e então adicione o seguinte código de representação de identidade:
<identity impersonate="true" userName="domain\username" password="********"/>
Substitua a senha correta pelo valor listado no exemplo anterior.
Observação: Os elementos do arquivo web.config diferenciam maiúsculas de minúsculas.
Usando a Segurança do Windows na Cadeia de Conexões
Por último, quando você cria uma cadeia de conexão para acessar banco de dados, configure a cadeia de conexão para usar a segurança integrada do Windows.
Para usar a segurança integrada do Windows em uma sequência de conexão
Quando você cria uma string de conexão para o seu aplicativo, não inclua um nome de usuário e uma senha.Ao invés disso, para a sequência de conexão, configure o atributo Integrated Security como SSPI.
O exemplo de código a seguir mostra uma string de conexão que inclui os atributos apropriados:
data source=myserver;initial catalog=northwind;Integrated Security=SSPI
Para configurar o SQL Server para segurança integrada do Windows
No Windows, clique em Iniciar, aponte para Programs, aponte para Microsoft SQL Server, e clique em Enterprise Manager.
Expanda o nó para o servidor e, em seguida, expanda o nó para o banco de dados para o qual você deseja conceder permissões de usuário.
Clique com o botão direito do mouse emUsers e clique emNew Database User.
Na caixa de diálogo Propriedades de Usuário do Banco de Dados, digite domínio\usuário na caixa Nome do Logon, e clique em OK.