It seems like you are doing the first step correctly of assigning roles to users and setting the proper read permissions of the dashboard to that user role! Now, it sounds like the problem is that you need to route users to the proper dashboard.
One way you could do this is to have multiple apps for each of the two users that need to see a specific dashboard when they login. The way I think makes most sense is a work around using the JS Webframework which could be as follows:
Create a dashboard3 that is the default for the app. This might have reports to load or might be blank but will act more as a landing page to redirect users to the correct dashboard
Using JS referenced in dashboard3 you can get all relevant information about user like user role with this code (http://dev.splunk.com/view/SP-CAAAEJ8#listuser)
Then, in your JS code, have the user routed through an http redirect to the proper dashboard
I am referencing another answer here (https://answers.splunk.com/answers/126873/how-to-show-different-views-by-the-type-of-user.html) for some of these ideas and links.
... View more