in your portlet.xml, you'll have to support the portlet's "edit" mode. That's how the JSR-286 standard names the "Preferences" setting. IMHO Liferay's choice of "Preferences" is a better name than "edit", thus it's used on the user-facing interface.
In addition, the user in question must have permission to "edit" the portlet.
partial portlet.xml:
<portlet>
....
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>view</portlet-mode>
<portlet-mode>edit</portlet-mode> <!-- this is what you need -->
</supports>
...
</portlet>