Set your permissions on a different level then. Right now it sounds like you have permissions set on the page level. Change that and set it on the webpart or the zone level. The page can be displayed for all users (authenticated or not) just change the visibility of the webpart to only show for authenticated users in "X" role and show the other webpart if they aren't authenticated.
It's simply a transfer of where the permissions lie.