O acesso é negado durante o processamento do web.config com o Sql Server Compact

1

Acabei de implantar um site da ASP.NET MVC3 em um novo hoster. Está usando o painel de controle do Plesk. O site está usando o Sql Server Compact 4.0 e o provedor de Função e Associação do Sql Server Compact do EricEJ .

Ao tentar acessar o site, estou recebendo um erro de acesso negado no arquivo web.config, no qual adiciono o SqlCeMembershipProvider:

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

Source Error:

Line 31:         <clear /> 
Line 32:         <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" /> 
Line 33:         <add name="SqlCeMembershipProvider" type="ErikEJ.SqlCeMembershipProvider, ErikEJ.SqlCeMembership" connectionStringName="SqlCeServices" applicationName="/" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" passwordFormat="Hashed" writeExceptionsToEventLog="false" /> 
Line 34:       </providers> 
Line 35:     </membership>

A string de conexão SqlCeServices é configurada assim:

<connectionStrings>
    <add name="SqlCeServices" connectionString="data source=|DataDirectory|\SqlCeAspnetdb.sdf" />
</connectionStrings>

Quando eu vou para o "Gerenciador de Arquivos" no painel de controle do Plesk e clico em "alterar permissões" para a pasta "App_Data", todos os usuários (que eu posso configurar) possuem permissões de gravação e modificação:

Embora,quandocliconobotão"avançado", é isso que vejo:

Aentradanaparteinferiorde"Usuário do Plesk IIS WP (IWPD_321)" tem todas as permissões. Mas, aparentemente, existem duas entradas adicionais para o mesmo usuário no topo. Estes não têm permissões de escrita, mas qualquer coisa que eu mude para esses 2 não é salvo. Quando eu volto para a tela, eles são novamente mostrados (sem permissão de gravação).

Não tenho certeza do que posso fazer, ou o que eu tenho que pedir ao helpdesk do hoster para resolver isso (eles não parecem ter experiência com o Sql Server Compact).

Eu tentei remover as linhas do arquivo web.config onde a string SqlServerCe Connection é usada, e então posso executar o site, mas não consigo criar (registrar) usuários ou funções, pois não tenho um Sql Server banco de dados.

Alguma sugestão sobre o que tentar em seguida?

    
por fretje 21.12.2011 / 14:10

1 resposta

2

Eu encontrei a solução. Eu precisava adicionar direitos de "leitura / execução" para a pasta \ bin e todos os seus objetos filhos para o usuário "Plesk IIS WP User (IWPD_321)".

A pasta \ bin é onde residem os binários do Sql Server Compact.

Acho que eu estava focando muito na pasta \ App_Data ...

    
por 21.12.2011 / 23:07