add csrf & antiforgerytoken logic, refactoring filter layer