Pergunta

Tenho um site autenticado que possui um subdiretório com requisitos de acesso mais rigorosos.Qualquer pessoa pode se registrar no site principal, mas apenas os administradores do site podem fazer login no subdiretório.Atualmente, tanto o site principal quanto o subdiretório têm seu próprio application.cfm arquivos e páginas de login.

Atualizei recentemente do ColdFusion 8 para CF 10 e tive que fazer uma muita reconfiguração do meu tratamento de sessão.Agora estou usando cookies somente de sessão para ajudar a manter a sessão do usuário enquanto ele navega pelo site.

Com essa mudança de comportamento no CF 10, estou preocupado que os administradores do site que também estão registrados no site principal tenham suas sessões embaralhadas se alternarem entre os dois aplicativos (por exemplo, para ver se conseguem replicar um problemas do usuário ou procurar detalhes do banco de dados enquanto eles estão logados no site principal).

As credenciais do site principal e do subdiretório vêm do mesmo banco de dados de usuário, e os administradores do site possuem um sinalizador que lhes permite acesso extra.Posso escrever facilmente um script que verifique se um usuário efetuou login no site principal ou no subdiretório e direcioná-lo adequadamente caso mude de lugar.

Resumindo, no mundo CF 10, preciso de um segundo application.cfm, e, posteriormente, um segundo conjunto de variáveis ​​de sessão, para esse subdiretório?

(Observação: Eu olhei para ambos Autenticação entre sites Coldfusion e Você pode ter vários cfapplications em um application.cfm? entradas e, embora tenham muitas coisas boas aqui, não respondem exatamente à minha pergunta.)

Foi útil?

Solução

Não, não é necessário ter vários arquivos application.cfm/cfc.Nem é necessário ter o primeiro.No entanto, também não é necessariamente uma coisa ruim ter vários.Se você tiver vários, poderá ter um tratamento onerror e onrequest diferente para o subdiretório, se isso for benéfico para seus objetivos.

Prefiro usar apenas um application.cfc para que todo o roteamento/autenticação/tratamento de erros do meu aplicativo seja feito antecipadamente, em vez de ser dividido entre o aplicativo principal e a área administrativa, e não preciso lidar com várias sessões por usuário.

Outras dicas

se você tem session variáveis ​​em application.cfm no parent directory, você pode apenas <cfinclude> isso no application.cfm arquivo em subdirectory.Para que você também possa ter os mesmos valores de sessão para os arquivos no subdiretório.

Exemplo application.cfm em subdirectory:

<cfinclude template="/home_directory/application.cfm" />

Observação:aqui não há necessidade de usar <cfapplication> marcação.

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