Configurar a etapa 3: definir as configurações da fonte de dados
por Keith Newman e Robert McMurray
Nesta fase de compilação do site da Web do ASP.NET, você define as configurações da fonte de dados que estão disponíveis no IIS.
3.1. Cadeias de conexão de fonte de dados
Esta seção descreve como criar uma cadeia de conexão de banco de dados no IIS, usando a interface do usuário do Gerenciador do IIS ou a linha de comando.
Em Planejar um site da Web do ASP.NET no IIS, você toma as seguintes decisões de design sobre a necessidade de adicionar uma cadeia de conexão:
- Especifique um nome para a cadeia de conexão.
- Especifique o servidor em que o banco de dados está ativado.
- Especifique o nome do banco de dados.
- Forneça as credenciais, a menos que esteja usando a segurança integrada do Windows.
Para criar uma cadeia de conexão de banco de dados usando a interface do usuário
Abra o Gerenciador do IIS e navegue até o nível a ser gerenciado.
Em Exibição de recursos, clique duas vezes em Cadeias de conexão.
Na página Cadeias de conexão, selecione Adicionar no painel Ações.
Na caixa de diálogo Adicionar cadeia de conexão, digite um nome para a cadeia de conexão, como MyConnection, na caixa de textoNome.
Observação
O nome que você inserir no Gerenciador do IIS é o mesmo nome que você faz referência em seu código do aplicativo para recuperar dados usando esta cadeia de conexão.
Com a opção SQL Server selecionada, digite o nome do servidor que hospeda o banco de dados na caixa de texto Servidor e digite o nome do banco de dados na caixa de texto Banco de dados.
Em Credenciais, escolha uma das seguintes:
- Selecione Usar Segurança Integrada do Windows.
- Selecione Especificar credenciais e selecione Definir. Digite um nome de usuário e a senha de uma conta que pode se conectar ao servidor e banco de dados nas caixas de texto Nome de usuário e Senha. Digite a mesma senha na caixa de texto Confirmar senha e selecione OK.
Clique em OK.
Para criar uma cadeia de conexão de banco de dados usando a linha de comando
Para criar uma cadeia de conexão de banco de dados, use a seguinte sintaxe:
appcmd set config /commit:MACHINE /section:connectionStrings /+"[connectionString='string', name='string', providerName='string']"
A variável connectionString='string'
é o valor da cadeia de conexão, a variável name='string'
é a chave a ser usada para acessar o valor da cadeia de conexão e a variável providerName='string'
é o nome do provedor de ADO.NET a ser usado para acessar o armazenamento de dados subjacente. Por exemplo, para criar uma cadeia de conexão para um aplicativo que usa o banco de dados Northwind, digite o seguinte comando no prompt de comando e pressione Enter:
appcmd set config /commit:MACHINE /section:connectionStrings /+"[connectionString='Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;', name='Northwind', providerName='System.Data.SqlClient ']"
3.2. Provedores de ASP.NET
Esta seção descreve como adicionar um provedor .NET ao IIS usando a interface do usuário do Gerenciador do IIS ou a linha de comando.
Em Planejar um site da Web do ASP.NET no IIS, tome as seguintes decisões de design sobre como adicionar um provedor do .NET ao IIS:
Selecione o recurso do IIS para o provedor fornecer: Perfis do .NET, Funções do .NET ou Usuários do .NET.
Selecione o tipo de provedor.
Insira um nome para o provedor.
Se o recurso Usuários do .NET for selecionado, selecione qualquer um dos seguintes comportamentos de provedor:
- Habilitar a redefinição de senha
- Habilitar recuperação de senha
- Exigir pergunta e resposta
- Exigir email exclusivo
- Armazenar senha em formato seguro
Fornecer o nome da cadeia de conexão ao banco de dados.
Inserir o nome do aplicativo.
Para adicionar um provedor usando a interface do usuário
Abra o Gerenciador do IIS e navegue até o nível a ser gerenciado.
Em Exibição de recursos, clique duas vezes em Provedores.
Na página Provedores, em Recurso, selecione um dos seguintes recursos:
- Funções do .NET: para configurar o provedor a fim de fornecer uma interface entre o serviço de gerenciamento de função do ASP.NET (o “gerenciador de função”) e as fontes de dados de função.
- Usuários do .NET: para configurar o provedor a fim de fornecer uma interface entre o serviço de associação do ASP.NET e as fontes de dados de associação.
- Perfil do .NET: para configurar o provedor a fim de fornecer uma interface entre o serviço de perfil do ASP.NET e as fontes de dados de perfil.
No painel Ações, clique em Adicionar.
Na caixa de diálogo Adicionar Provedor, selecione um tipo de provedor na lista suspensaTipo.
Na caixa de texto Nome, digite um nome para o provedor.
Se o recurso de Usuários do .NET estava marcado na etapa número 3, na seção Propriedades do perfil, em Comportamento, defina o valor de um ou mais dos seguintes comportamentos como Verdadeiro para habilitar o comportamento:
EnablePasswordReset: indica se as senhas podem ser redefinidas usando o método de provedor ResetPassword. A configuração padrão é False.
EnablePasswordRetrieval: indica se as senhas podem ser recuperadas usando o método do provedor de GetPassword. A configuração padrão é False.
Importante
Alguns provedores, como o provedor do Active Directory, não têm suporte para a recuperação de senhas. Para esses provedores, o valor do atributo enablePasswordRetrieval sempre é Falso e não poderá ser alterado na configuração.
RequiresQuestionAndAnswer: indica se uma resposta de senha será fornecida quando o programa chamar os métodos de provedor GetPassword e ResetPassword. A configuração padrão é False.
RequiresUniqueEmail: indica se cada usuário exclusivo registrado deve ter um endereço de email. A configuração padrão é False.
StorePasswordInSecureFormat: indica se as senhas têm hash. A configuração padrão é False.
Em Dados, digite o nome da cadeia de conexão que é usada para se conectar ao Banco de Dados na caixa de texto ConnectionStringName. (Observação: esta é a mesma cadeia de conexão que foi configurada sob o recurso Cadeias de Conexão. Para obter mais informações sobre como configurar cadeias de conexão, consulte Configurar cadeias de conexão no IIS 7. Se o WindowsTokenRoleProvider tiver sido selecionado na etapa 5 deste procedimento, um nome de cadeia de conexão seria opcional.)
Opcionalmente, na seção Propriedades do Perfil, em Geral, digite o caminho virtual do aplicativo na caixa de texto ApplicationName. Caso não especifique um valor na caixa de texto ApplicationName, a API de associação define HttpContext.Current.Request.ApplicationPath, como padrão. Esse caminho pode ser determinado somente no tempo de execução.
Opcionalmente, na seção Propriedades do perfil, em Geral, digite uma descrição para o provedor na caixa de texto Descrição.
Clique em OK.
Para adicionar um provedor usando a linha de comando
Para adicionar um provedor de função do .NET, use a seguinte sintaxe:
appcmd set config /commit:MACHINE /section:roleManager /+"providers.[name='string', type='string', connectionStringName='string', applicationName='string']"
A variável name='string'
é o nome do provedor. A variável type='string'
é o tipo de provedor. A variável connectionStringName='string'
é o nome da cadeia de conexão usada para se conectar ao banco de dados. A variável applicationName='string'
é opcional e é o caminho virtual do aplicativo. Por exemplo, para configurar um aplicativo ASP.NET para usar a classe SqlRoleProvider
para armazenar e recuperar informações de função, digite o seguinte no prompt de comando e pressione Enter:
appcmd set config /commit:MACHINE /section:roleManager /+"providers.[name='SqlProvider', type='System.Web.Security.SqlRoleProvider', connectionStringName='SqlServices', applicationName='SampleApplication']"
Para adicionar um provedor de usuário do .NET, use a seguinte sintaxe:
appcmd set config /commit:MACHINE /section:membership /+"providers.[name='string', type='string', connectionStringName='string', applicationName='string', enablePasswordReset='true|false', enablePasswordRetrieval='true|false', requiresQuestionAndAnswer='true|false', requiresUniqueEmail='true|false', storePasswordInSecureFormat='true|false']"
Essa sintaxe consiste nos seguintes itens:
- A variável
name='string'
é o nome do provedor. - A variável
type='string'
é o tipo de provedor. - A variável
connectionStringName='string'
é o nome da cadeia de conexão usada para se conectar ao banco de dados. - A variável
applicationName='string'
é opcional e é o caminho virtual do aplicativo. - A variável
enablePasswordReset=true
habilita a redefinição de senha usando o método ResetPassword do provedor. A configuração padrão éfalse
. - A variável
enablePasswordRetrieval=true
habilita a recuperação de senha usando o método GetPassword do provedor. A configuração padrão éfalse
. - A variável
requiresQuestionAndAnswer=true
exige que uma resposta de senha deve ser fornecida quando o programa chama os métodos de GetPassword e ResetPassword do provedor. A configuração padrão éfalse
. - A variável
requiresUniqueEmail=true
requer que cada usuário registrado tenha um endereço de email exclusivo. A configuração padrão éfalse
. - A variável
storePasswordInSecureFormat=true
requer que todas as senhas tenham código hash. A configuração padrão éfalse
.
Por exemplo, para configurar um aplicativo ASP.NET para usar a classe SqlMembershipProvider
para armazenar e recuperar informações do usuário, digite o seguinte no prompt de comando e pressione Enter:
appcmd set config /commit:MACHINE /section:membership /+"providers.[name='SqlProvider', type='System.Web.Security.SqlMembershipProvider', connectionStringName='SqlServices', applicationName='/', enablePasswordRetrieval='False', enablePasswordReset='True', requiresQuestionAndAnswer='True']"
Para adicionar um provedor de perfil do .NET, use a seguinte sintaxe:
appcmd set config /commit:MACHINE /section:profile /+"providers.[name='string', type='string', connectionStringName='string', applicationName='string']"
A variável name='string'
é o nome do provedor. A variável type='string'
é o tipo de provedor. A variável connectionStringName='string'
é o nome da cadeia de conexão usada para se conectar ao banco de dados. A variável applicationName='string'
é opcional e é o caminho virtual do aplicativo. Por exemplo, para configurar um aplicativo ASP.NET para usar a classe SqlProfileProvider
para armazenar e recuperar informações de perfil, digite o seguinte no prompt de comando e pressione Enter:
appcmd set config /commit:MACHINE /section:profile /+"providers.[name='SqlProvider', type='System.Web.Profile.SqlProfileProvider', connectionStringName='SqlServices', applicationName='SampleApplication']"
3.3. Perfil do .NET
Esta seção descreve como adicionar uma propriedade de perfil e um grupo de perfil.
Em Planejar um site da Web do ASP.NET no IIS, você toma as seguintes decisões de design sobre propriedades de perfil e grupos para o IIS:
- Para cada propriedade de perfil, forneça o nome da propriedade, tipo de dados (como cadeia de caracteres ou booleano), um valor padrão, uma opção de serialização (cadeia de caracteres, XML, binário ou específico de provedor), se é somente leitura e se está disponível para usuários anônimos.
- Para cada grupo de perfil, forneça o nome do grupo.
Para adicionar uma propriedade de perfil do .NET usando a interface do usuário
Abra o Gerenciador do IIS e navegue até o nível a ser gerenciado.
Em Exibição de recursos, clique duas vezes em Perfil do .NET.
No painel Ações, selecione Adicionar propriedade para adicionar uma propriedade de perfil do .NET ou para adicionar uma propriedade de perfil do .NET a um grupo, selecione o grupo ao qual você quer adicionar a propriedade de perfil do .NET, e em seguida, selecione Adicionar propriedade ao grupo.
Na caixa de diálogo Adicionar propriedade de perfil do .NET, digite um nome para a propriedade de perfil do .NET na caixa de texto Nome.
Em Tipo de dados, selecione um dos seguintes tipos de dados:
- System.Boolean: para configurar a propriedade do perfil .NET para que ela tenha um valor Verdadeiro ou Falso.
- System.Char: para configurar a propriedade de perfil do .NET para conter caracteres Unicode.
- System.DateTime: para configurar a propriedade de perfil .NET para conter datas e horas com valores que variam de 0:00:00 meia-noite, 1 de Janeiro de 0001 Anno Domini (A.D.) ou Era Comum (C.E.) até 23:59:59, 31 de dezembro de 9999 A.D. (C.E.)
- System.Decimal: para configurar a propriedade de perfil do .NET para conter números decimais que vão do 79.228.162.514.264.337.593.543.950.335 positivo ao 79.228.162.514.264.337.593.543.950.335 negativo. O tipo de valor Decimal é adequado para cálculos financeiros que exigem muitos dígitos integrais e fracionários significativos e sem erros de arredondamento.
- System.Double: para configurar a propriedade de perfil do .NET para conter um número de 64 bits de precisão dupla com valores que variam do 1,79769313486232e308 negativo ao 1,79769313486232e308 positivo, bem como zero positivo ou negativo, PositiveInfinity, NegativeInfinity e NaN (Not-a-Number). Para obter mais informações sobre o tipo de valor Duplo, consulte Estrutura Dupla.
- System.Int32: para configurar a propriedade de perfil do .NET para conter um inteiro assinado com um valor que varia do 2.147.483.648 negativo ao 2.147.483.647 positivo.
- System.Int64: para configurar a propriedade de perfil do .NET para conter um inteiro com um valor que varia do 9.223.372.036.854.775.808 negativo ao 9.223.372.036.854.775.807 positivo.
- System.Single: para configurar a propriedade de perfil do .NET para conter um número de 32 bits de precisão simples com valores que variam do negativo 3.402823e38 ao positivo 3.402823e38, bem como zero positivo ou negativo, PositiveInfinity, NegativeInfinity e NaN (Not-a-Number). Para obter mais informações sobre o tipo de valor Único, consulte Estrutura Única.
- System.String: para configurar a propriedade de perfil do .NET para ser uma coleção sequencial de estruturas de Char que representa uma cadeia de caracteres de texto. Essa configuração é o padrão.
Na caixa de texto Valor padrão, digite um valor com o qual a propriedade será inicializada.
Sob Opção de serialização, selecione um dos seguintes formatadores de serialização:
- Cadeia de caracteres: selecione essa opção quando a propriedade de configurações for serializada como texto sem formatação. Essa configuração é o padrão.
- XML: selecione essa opção para serializar apenas as propriedades públicas e campos. A serialização de XML não preserva a fidelidade de tipo. Essa opção é útil quando você quer fornecer ou consumir dados sem restringir o aplicativo que usa os dados. Como o XML é um padrão aberto, ele é uma opção atraente para o compartilhamento de dados na web.
- Binário: selecione esta opção para preservar a fidelidade de tipo. A serialização binária é útil para preservar o estado de um objeto entre diferentes invocações de um aplicativo. Por exemplo, você pode compartilhar um objeto entre diferentes aplicativos serializando-o para a área de transferência. Serialize um objeto em um fluxo, em um disco, para a memória, por meio da rede e assim por diante.
- Específico do provedor: selecione esta opção quando o provedor de configurações tiver conhecimento implícito da propriedade ou do seu tipo e possa escolher um mecanismo de serialização apropriado. Essa opção é geralmente usada para serialização personalizada.
Marque a caixa Somente leitura para configurar a propriedade de perfil do .NET para que ela não possa ser modificada.
Verifique a caixa Disponível para usuários anônimos para tornar a propriedade do perfil do .NET disponível para usuários não autenticados.
Clique em OK.
Adicionar uma propriedade do perfil do .NET usando a linha de comando
Para adicionar uma propriedade de perfil do .NET, use a seguinte sintaxe:
appcmd set config /commit:MACHINE /section:profile /+"properties.[name='string', type='string', defaultValue='string', serializeAs='String|Xml|Binary|ProviderSpecific', readOnly='true|false', allowAnonymous='true|false']"
A variável name='string'
é o nome da propriedade de perfil. A variável type='string'
é o tipo de dados. A variável defaultValue='string'
é o valor com o qual a propriedade de perfil é inicializada. A variável serializeAs='String|Xml|Binary|ProviderSpecific'
define o formatador de serialização. A variável readOnly=true
define a propriedade de perfil do .NET para que ela não possa ser modificada. O valor padrão é false
. A variável allowAnonymous=true
disponibiliza a propriedade de perfil do .NET para usuários não autenticados. O valor padrão é false
. Por exemplo, para especificar uma propriedade de perfil que mantém uma coleção recente da lista de pesquisa, digite o seguinte comando no prompt de comando e pressione Enter:
appcmd set config /commit:MACHINE /section:profile /+"properties. [name='RecentSearchList', type='System.Collections.Specialized.StringCollection', serializeAs='Xml', allowAnonymous='true']"
Para adicionar um grupo de perfil do .NET usando a interface do usuário
- Abra o Gerenciador do IIS e navegue até o nível a ser gerenciado.
- Em Exibição de recursos, clique duas vezes em Perfil do .NET.
- No painel Ações, selecione Adicionar Grupo.
- Na caixa de diálogo Adicionar Grupo, digite um nome para o grupo de perfil do .NET na caixa de texto Nome e clique em OK.
3.4. Funções do .NET
Esta seção descreve como adicionar uma função do .NET usando a interface do usuário do Gerenciador do IIS.
Para adicionar uma função do .NET usando a interface do usuário
- Abra o Gerenciador do IIS e navegue até o nível a ser gerenciado.
- Em Exibição de Recursos, clique duas vezes em Funções do .NET.
- No painel Ações, clique em Adicionar.
- Na caixa de diálogo Adicionar função do .NET , digite o nome da função na caixa de texto Nome e selecione OK.
3.5. Usuários do .NET
Esta seção descreve como configurar os usuários do .NET usando a interface do usuário do Gerenciador do IIS.
No Planejar um site da Web do ASP.NET no IIS, você toma as seguintes decisões de design para cada usuário que deseja adicionar ao IIS:
- Nome do usuário
- Senha
- Pergunta
- Resposta
- Função ou funções
Para adicionar um usuário do .NET usando a interface do usuário
Abra o Gerenciador do IIS e navegue até o nível a ser gerenciado.
Em Exibição de Recursos, clique duas vezes em Usuários do .NET.
No painel Ações, clique em Adicionar.
Na caixa de diálogo Detalhes da conta de usuário do .NET, insira as seguintes informações:
- Nome de usuário (deve ser exclusivo).
- Email (deve usar o formato padrão: name@domain.com).
- Senha (deve ser uma senha forte).
- Confirmar senha (deve corresponder à senha).
- Pergunta (inserir uma pergunta personalizada ou selecionar na lista).
- Responder à pergunta.
Selecione Avançar para selecionar funções para esse usuário. Caso não tenha habilitado as Funções do .NET, selecione Concluir.
Na caixa de diálogo Funções de usuário do .NET, selecione opcionalmente as funções disponíveis na caixa Funções e, em seguida, selecione Concluir.