title: how to secure whole pages except login page in symfony2?
body: <p>I want to have whole site secured through login with FOSUserBundle. I tried to set security.yml like this</p>
  
  <pre><code>security:
  encoders:
      Symfony\Component\Security\Core\User\User: plaintext
      FOS\UserBundle\Model\UserInterface: sha512
  
  role_hierarchy:
      ROLE_ADMIN:       ROLE_USER
      ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
  providers:
      fos_userbundle:
          id: fos_user.user_manager
  
  firewalls:
      main:
          pattern:    ^/
          form_login:
              check_path: /login_check
              login_path: /login
              provider: fos_userbundle
              always_use_default_target_path: true
              default_target_path: /dashboard
          logout:
              path:   /logout
              target: /
          anonymous: ~
          #http_basic:
          #    realm: "Secured Demo Area"
  
  access_control:
      - { path: ^/demo/secured/hello/admin/, roles: ROLE_ADMIN }
      #- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
  </code></pre>
  
  <p>But then I don't know what to set in config.yml
  this is my config.yml</p>
  
  <pre><code> imports:
  - { resource: parameters.yml }
  - { resource: security.yml }
  
  framework:
  #esi:             ~
  translator:       ~
  secret:          %secret%
  router:
      resource: "%kernel.root_dir%/config/routing.yml"
      strict_requirements: ~
  form:            ~
  csrf_protection: ~
  validation:      { enable_annotations: true }
  templating:
      engines: ['twig']
      #assets_version: SomeVersionScheme
  default_locale:  "%locale%"
  trusted_proxies: ~
  session:         ~
  fragments:       ~
  http_method_override: true
  
  # Twig Configuration
  twig:
  debug:            %kernel.debug%
  strict_variables: %kernel.debug%
  
  # Assetic Configuration
  assetic:
  debug:          %kernel.debug%
  use_controller: false
  bundles:        [ ]
  #java: /usr/bin/java
  filters:
      cssrewrite: ~
      #closure:
      #    jar: %kernel.root_dir%/Resources/java/compiler.jar
      #yui_css:
      #    jar: %kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar
  
  # Doctrine Configuration
  doctrine:
  dbal:
      driver:   %database_driver%
      host:     %database_host%
      port:     %database_port%
      dbname:   %database_name%
      user:     %database_user%
      password: %database_password%
      charset:  UTF8
      # if using pdo_sqlite as your database driver, add the path in parameters.yml
      # e.g. database_path: %kernel.root_dir%/data/data.db3
      # path:     %database_path%
  
  orm:
      auto_generate_proxy_classes: %kernel.debug%
      auto_mapping: true
  
  # Swiftmailer Configuration
  swiftmailer:
  transport: %mailer_transport%
  host:      %mailer_host%
  username:  %mailer_user%
  password:  %mailer_password%
  spool:     { type: memory }
  fos_user:
  db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel'
  firewall_name: main
  user_class: Dashboard\UserBundle\Entity\User
  </code></pre>
  
  <p>and this is my controller</p>
  
  <pre><code>&lt;?php
  
  namespace Proposals\ProposalsBundle\Controller;
  
  use Symfony\Component\HttpFoundation\Request;
  use Symfony\Component\HttpFoundation\Response;
  use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  
  use Proposals\ProposalsBundle\Entity\Proposals;
  use Proposals\ProposalsBundle\Form\ProposalsType;
  
  /**
  * Proposals controller.
  *
  */
  class ProposalsController extends Controller
  {
  
  /**
   * Lists all Proposals entities.
   *
   */
  public function indexAction()
  {
      $em = $this-&gt;getDoctrine()-&gt;getManager();
  
      $entities = $em-&gt;getRepository('ProposalsProposalsBundle:Proposals')-&gt;findAll();
  
      return $this-&gt;render('ProposalsProposalsBundle:Proposals:index.html.twig', array(
          'entities' =&gt; $entities,
      ));
  }
  </code></pre>
  
  <p>When i open any page its not check either user is logged in or not.I want every page is secured through login if user logged in then every page open if user not logged in then page not show or redirect to login.any help appriciated</p>