Display main menu for logged in users only I'm new to drupal and using the latest version (7.x). I want hide the Main Menu in all pages until user log-in to the site. I set the Main Menu block role set to "Authenticated Users" only. But I can see the Main Menu on all pages as anonymous user.

How could I hide the Main Menu for anonymous user and show them once logged In ?
If you are assigning main menu (as block) to region, you can control it's visibility by "Visibility settings". If you are rendering it in .tpl.php file then you can do it like this: Example (bartik's page.tpl.php):

&lt;?php if ($main_menu &amp;&amp; user_is_logged_in()): ?&gt;
  &lt;div id="main-menu" class="navigation"&gt;
    &lt;?php print theme('links__system_main_menu', array(
      'links' =&gt; $main_menu,
      'attributes' =&gt; array(
        'id' =&gt; 'main-menu-links',
        'class' =&gt; array('links', 'clearfix'),
      ),
      'heading' =&gt; array(
        'text' =&gt; t('Main menu'),
        'level' =&gt; 'h2',
        'class' =&gt; array('element-invisible'),
      ),
    )); ?&gt;
  &lt;/div&gt; &lt;!-- /#main-menu --&gt;
&lt;?php endif; ?&gt;