Bom acredito que o ideal é esclarecer algumas coisas que são relevantes nesse tipo de problema :
 
 1 - Existem informações exclusivas que devem ser particularizadas ( dados específicos de cada usuário etc.. )
 2 - Existem informações que todas ou um determinado grupo de pessoas podem ter acesso 
 
Situação 1
 
Dicas:
 
Além de um esquema de login consistente você deve certificar de :
 
 
- Limpar os Cookies ( CFID, CFTOKEN ) quando o navegador for fechado
- Usar funções de Remoção ou Limpeza de keys de Estrutura ( StructClear, StructDelete )
 
exemplos:
 
--- logout
<cfscript >
    for( key in session ) structDelete( session , key ); //logout
</cfscript>
 
 <cfif isDefined("Cookie.CFID") AND isDefined("Cookie.CFTOKEN")>
      <cfset lCFID = Cookie.CFID />
     <cfset lCFTOKEN = Cookie.CFTOKEN />  
      <cfcookie name="CFID" value="#lCFID#" /> 
       <cfcookie name="CFTOKEN" value="#lCFTOKEN #" />
</cfif>
 
 
Situação 2
 
Em caso de conteúdo compartilhado, que possa ser utilizado por mais do que um usuário você deve estar ligado aos filtros que serão realizados nas consultas de banco de dados
 
Geralmente essas rotinas são mais difíceis de serem encontradas, caso o desenvolvimento dos códigos tenha sido implementado de forma inadequada, ou seja a ausência de um where ou and numa tabela que necessitaria de filtros para o usuário corrente poderia ocorrer isso:
 
 
-- Exemplo de um código errado muito comum de ser encontrado em códigos inadequados
 
 
<cfquery name="qrLogin" datasource="teste" maxrows="1">
    select usuario, nome_usuario
     from usuarios
</cfquery>
 -- cflock etc..
    <cfif qrLogin.recordcount>
          <cfset Session = qrLogin />
   </cfif>
 
Ou seja o usuário não realiza nehum filtro que determina o solicitante da ação, então o código irá sugerir a primeira linha que a consulta retornar... ( e no caso da ausência do maxRows ) ele vai sugerir todos
 
 
Pode ser que esse não seja o seu caso, mas essa 2ª situação vem mostrar que como o ColdFusion não considera o código proposto como exceção, ele aparenta estar em "perfeito" funcionamento, quando na verdade está totalmente equivocado em termos da lógica da aplicação.
 
 
 

Jefferson de Araújo Petilo
[EMAIL PROTECTED]


KM&M Engenharia de Sistemas
http://www.kmm.com.br
 


De: Gustavo Ferrante [mailto:[EMAIL PROTECTED]
Enviada em: quarta-feira, 16 de junho de 2004 10:34
Para: [EMAIL PROTECTED]
Assunto: [cf-brasil] Ajuda Session

Olá pessoal,

            Estou tendo problemas com a definição da sessão.  Criei uma tela de login, onde após a verificação do ID e senha no banco de dados, o sistema atribui a uma variável chamada session.valida um campo do banco de dados. Esse campo servirá futuramente para mostrar informações pertinentes ao usuário logado. Estava funcionando corretamente, o sistema somente mostrava ao usuário suas informações, mas recebi algumas reclamações de usuários, informando que quando ele loga no sistema, aparece informações de outras pessoas, mesmo elas estando em micros diferentes. Percebi então que o sistema só trocava informações entre usuários que utilizavam a mesma rede.

 

 

Por exemplo:

 

 

Local 1 (em rede)

 

Sistema utilizado por:

José e Mario

 

 

Local 2 (em rede)

 

Sistema utilizado por:

Maria e João

 

Quando o José loga, aparece as informações do Mario ou vice-versa.

 

Quando a Maria loga, aparece as informações do João ou vice-versa.

 

Nunca aconteceu do José logar e aparecer as informações da Maria que está em outra rede.

 

Por favor, me ajudem.

 

Grato mais uma vez pela atenção de vocês,

Gustavo

--^^---------------------------------------------------------------
This email was sent to: [EMAIL PROTECTED]

EASY UNSUBSCRIBE click here: http://topica.com/u/?b1dnXn.b7M5gI.YXJxdWl2
Or send an email to: [EMAIL PROTECTED]

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^^---------------------------------------------------------------

Responder a