Checks if a user is authorized to establish a session. 
- Parameters
- 
  
    | userId | The user ID. |  | password | The user's password. |  | reason | The reason why access was denied. |  
 
- Returns
- true if access is granted, false otherwise. 
- Exceptions
- 
  
    | PermissionDeniedException | Thrown when the user's access is denied. This exception can be thrown instead of returning false with a reason set in the reason out parameter. |