Pergunta

Estou usando um projeto de configuração da Web do Visual Studio para instalar um aplicativo que estende a funcionalidade do Project Server.Quero chamar um método do PSI (Project Server Interface) de uma das ações personalizadas do meu projeto de configuração, mas sempre recebo um erro "401 Acesso não autorizado".O que devo fazer para poder acessar o PSI?O mesmo código, quando usado em um aplicativo de console, funciona sem problemas.

Foi útil?

Solução

Parece que na situação do console você está executando com suas credenciais de usuário atuais, que têm acesso ao PSI.Ao executar na Web, ele está sendo executado com as credenciais da instância do aplicativo IIS.Acho que você precisaria configurar a delegação para passar os créditos da sessão para o aplicativo IIS ou usar alguns créditos estáticos para o seu aplicativo IIS que tenha acesso ao PSI.

Outras dicas

Finalmente encontrei a resposta.Você pode chamar o serviço LoginWindows PSI e definir as credenciais para NetworkCredentials usando o usuário, a senha e os tokens de domínio apropriados.Então você pode chamar qualquer método PSI, desde que as credenciais sejam explícitas.Caso contrário, usando DefaultCredentials você receberá um erro de acesso não autorizado, porque um msi é executado com conta do sistema local.

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