Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera,
Bom dia!
Estou desenvolvendo um sistema em asp.net com a seguinte estrutura.
Ao expirar a conexão (Timeout = 30 seg), gostaria que ele fosse para a página de Login. Hoje o sistema faz isso, porém, dentro do iframe da página principal. Queria que essa página não abrisse dentro do iframe e sim fora dele. Na página inteira.
Se tiverem alguma dúvida sobre minha explicação postem aí.
Abraços
Thyago
Terá que chamar um método Javascript que redireciona informando o target, pois redirect não é possível informar o target.
Abraços...
>
Terá que chamar um método Javascript que redireciona informando o target, pois redirect não é possível informar o target.
Abraços...
quintelab, como eu faria isso? Hoje o sistema ja faz isso (quando o tempo expira, joga para a tela de login), porém ele joga dentro do iframe.
Abraço
Movido Plataforma .NET > Web Applications http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Javascript / DHTML
Acho que isso server:
window.open("paginaNova.html","NomeIframe","");
Abraços...
>
Movido Plataforma .NET > Web Applications http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Javascript / DHTML
Acho que isso server:
window.open("paginaNova.html","NomeIframe","");
Abraços...
quintelab, hoje nós usamos uma tecnica de segunrança no proprio c#. pra utilizar o javascript não teriamos de usar outra tecnica?
abraço
Você esta usando Membership? se sim basta confgurar no web.config.
<authentication mode="Forms">
<forms name="at" loginUrl="~/login.aspx"/>
</authentication>Opa,
Para fazer isto, a página que está dentro de seu iframe deve enviar para o pai(no caso o documento onde o iframe está inserido) a informação de que a sessão caiu.
Uma maneira de fazer, é dentro desta página de login, colocar um javascript que envia um comando para o pai.
Algo do tipo(ambos os códigos são javascript):
No pai:
function sessaoExpirou() {
this.location = "login.aspx";
}
Em login.aspx, que é carregado dentro do iframe:
function verificaIframe() {
try {
parent.sessaoExpirou();
} catch(e) {}
}
E no onload você chama a função. Desta forma quando existir um pai, ela vai tentar chamar a funcao sessaoExpirou.
Coloquei de uma maneira mais simples, dá para adaptar a sua lógica.
>
Você esta usando Membership? se sim basta confgurar no web.config.
<authentication mode="Forms">
<forms name="at" loginUrl="~/login.aspx"/>
</authentication>
Ivan, fiz essa alteração que você me falou e não deu certo. Continua abrindo a página do login dentro do Iframe.
Obrigado
Thyago
Entendi thiago, acho que a melhor forma pra você é no load da pagina que esta detro do iframe você verifica se esta autenticado se não você recireciona via javascript.
function verifica() {
if(sessao_expirou)
window.parent.location = "login.aspx";
}>
Opa,
Para fazer isto, a página que está dentro de seu iframe deve enviar para o pai(no caso o documento onde o iframe está inserido) a informação de que a sessão caiu.
Uma maneira de fazer, é dentro desta página de login, colocar um javascript que envia um comando para o pai.
Algo do tipo(ambos os códigos são javascript):
No pai:
function sessaoExpirou() {
this.location = "login.aspx";
}
Em login.aspx, que é carregado dentro do iframe:
function verificaIframe() {
try {
parent.sessaoExpirou();
} catch(e) {}
}
E no onload você chama a função. Desta forma quando existir um pai, ela vai tentar chamar a funcao sessaoExpirou.
Coloquei de uma maneira mais simples, dá para adaptar a sua lógica.
Entendi Bruno, porém onde eu faço a verificação é feito em C#. Isso não daria algum problema?
Abraço,
Thyago
Tenta algo assim:
protected void Page_Load(object sender, EventArgs e)
{
if(!User.Identity.IsAuthenticated)
Response.Write("<script>window.parent.location = 'login.aspx';</script>");
}>
Tenta algo assim:
protected void Page_Load(object sender, EventArgs e)
{
if(!User.Identity.IsAuthenticated)
Response.Write("<script>window.parent.location = 'login.aspx';</script>");
}
Boa Tarde Ivan,
Seguinte...eu fiz o que você me falou porém vou te explicar a estrutura que estou utilizando aqui com iframes pq ainda esta com um problema.
Eu tenho as páginas:
Quando clico no menu que esta na principal.aspx, ele abre uma página no iframe que esta na coluna direita. Até aí tudo certo, porém quando o tempo de execução se esgota e a página é redirecionada para a login.aspx, ela abre dentro do Iframe da página default.aspx quando na verdade teria de abrir fora deste iframe.
Se tiver duvidas sobre minha explicação, por favor, poste aí.
Obrigado,
Thyago
Então thiago eu entendi si situação, mas mesmo da forma q poestei ai, ainda esta abrindo dentro do iFrame? se sim muda o parent para top
>
Então thiago eu entendi si situação, mas mesmo da forma q poestei ai, ainda esta abrindo dentro do iFrame? se sim muda o parent para top
Ivan,
Parece que agora deu certo. Troquei o parent pelo top como você falou. Vou fazer uns testes aqui nos navegadores e dando tudo certo eu posto aqui novamente confirmando e coloco como ficou o codigo lá também.
Obrigado,
Thyago
Como você esta redirecionando?