2
I hacked a very inelegant solution.
Change the template system_userinfo.html as follows.
After the IF clause beginning <pre><{if $user_ownpage == true}></pre>
Add <pre><{if !$xoops_isuser}><i>Please log in to view this page.</i><{/if}>
<{if $xoops_isuser}></pre>
At end add <pre><{/if}></pre>
This means that logged-in users can see the details as normal but anonymous users see nothing except the "please log in" message.
I'm sure there must be an easier way though!
EDIT: Ignore the <pre> tags above....