Pergunta

Recentemente, eu estava trabalhando com a geração de um PDF a partir de Crystal Reports através de um WebForm. Estava falhando, que eu decidi ser causado pelas configurações de permissões no C: Windows Temp Dir. Dei à conta de serviço de rede acesso total a esta pasta, que resolveu prontamente o problema. Mas há uma razão pela qual a conta de serviço de rede não teve essas permissões por padrão?

Rick Strahl faz esta pergunta aqui. Parece que não deve haver problemas em fazer isso, mas Rick não estava claro sobre por que o padrão está definido dessa maneira.

O servidor da web é o Windows Server 2003

Foi útil?

Solução

Hoje em dia, a opção padrão tenderá a ser a mais segura. Eu não acho que exista nenhum outro motivo.

Eu tive o mesmo problema que você e, no meu ambiente, apenas deu a permissão e segui em frente.

Esta postagem sugere que é culpa dos relatórios de cristal, que está referenciando explicitamente %windir % temp em vez de usar uma API como Path.getTemppath (). Na verdade, eu vi path.gettemppath () devolver %windir % temp ao executar na conta de serviço de rede no Windows 2003.

Outras dicas

este publicar Na criação de arquivos temp, tem comentários que suportam o uso da pasta Windows Temp.

Um msdn artigo Ao usar a conta de serviço de rede, afirma que "se o seu aplicativo ASP.NET precisar usar arquivos ou pastas em outros locais, você deverá ativar especificamente o acesso", isso me diz que a restrição padrão à pasta temp não é porque a pasta temp foi Escalado, mas que todos os outros locais além da pasta raiz do IIS são restritos por padrão.

%Windows% temp não é para temp'ing geral e barear por aí. É claro que os relatórios de Crystal estão abusando desse diretório. Isso acontece muito quando os desenvolvedores têm preguiça de inicializar suas máquinas com qualquer coisa, exceto uma conta de administrador.

Todo usuário (incluindo serviço de rede) tem seu próprio espaço temporário, com direitos de acesso total, em Documentos e configurações. Os vencedores não agem como CR e usam seus próprios espaços temporários.

Em suma, não há nada de errado com as permissões padrão no Win Temp. Eu acredito que é simplesmente destinado ao funcionamento interno do Windows. (Então, novamente, seria muito melhor para todos os envolvidos, se esse diretório nunca existisse em primeiro lugar.)

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