Got it, at least kind of. all it does is iterate over menu entries that the user has no right to see.
its cobbled together, works only for submenus and doesn't care about the menu_index, which counts menus that maybe never will appear but it solves my problem. if anyone is interested I could post it here, but since it´s not my code I abused I´m not sure if it´s okay.
changes in usage of the library look like this:
the creation of the menu:, see the additional integer before 'F'
r=menu.addMenu(MW_ROOT,NULL,0,F("Hauptmenue")); <- the 0 means this menu is always shown
s1=menu.addMenu(MW_SUBMENU,r,8,F("Sauna")); <-- the 8 means the bit 3 (integer 8) of the user's rights is needed for the menu to show up
setting the user right is simply a matter of adding up the single bit's numeric values of the menu entries you want to give him:
if (any user logged in) (menu.myrights)++;
if (user may see menus with bit 1) (menu.myrights) = (menu.myrights) +2;
if (user may see menus with bit 2) (menu.myrights) = (menu.myrights) +4;
if (user may see menus with bit 3) (menu.myrights) = (menu.myrights) +8;