Como forçar o usuário de logout quando seu nome de usuário é alterado por outro usuário?

No meu aplicativo, estou usando a autenticação de formulários para entrar e sair de usuários.

Uma funcionalidade é admin pode alterar o nome de usuário de outros usuários. Nesse caso, preciso desconectar o usuário cujo nome de usuário é alterado.

Se não o fizer, devido aos seus cookies definidos antes, eles obtêm acesso ao aplicativo e recebem mensagens de erro (já que seu nome de usuário não existe e há partes em que eu uso seu nome de usuário para alguma funcionalidade).

Como posso forçar esses usuários a fazer logout usando a Autenticação por Formulários?

ATUALIZAÇÃO:

    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        string controller = filterContext.RouteData.Values["controller"].ToString();
        string action     = filterContext.RouteData.Values["action"].ToString(); ;
        // Below returns the previous username, which does not exist anymore in db.
        string userName = HttpContext.Current.User.Identity.Name;

        UnitOfWork unitOfWork = new UnitOfWork();

        if (!unitOfWork.UserRepository.UserExists(userName))
        {
            FormsAuthentication.SignOut();
            filterContext.HttpContext.Session.Clear();
            filterContext.HttpContext.Session.Abandon();
            // I am not using Roles.


        }
        unitOfWork.Dispose();
        base.OnActionExecuting(filterContext);

    }

No meu filtro global de clientes, eu verifico se o usuário existe ou não, se não eu os cancelo. No entanto, não está funcionando. Ao trabalhar, quero dizer que eles passam a autenticação e ganham acesso ao aplicativo.

Desde já, obrigado.