Для window.open вы можете проверить, есть ли у страницы, на которой вы находитесь, родительский элемент.
function parentExists(){
return (window.opener != null)? true : false;
}
Позвоните, когда загрузится ваша страница входа. Если он возвращает true, вы попадаете во всплывающее окно (или модальное). Затем вы можете закрыть страницу и перенаправить родительский элемент.
Для модального бокса это немного сложнее, потому что у вас нет доступа к открывателю. Сначала убедитесь, что все модальные окна открыты примерно так:
window.showModalDialog('test.htm', self, <optional options>);
Это обеспечит передачу чего-либо в аргументы окна.
Теперь добавьте следующий код на страницу входа в систему:
function parentExists()
{
var opener = window.dialogArguments;
return (opener == null)?false:true;
}
Редактировать: добавлена информация о модальных полях