How does shiro deal with the problem that multiple different objects have different permissions for the same operation?

the usual application of shiro is like this.
if there are mobile users and mobile phones, the mobile phone has many functions, such as gesture manipulation, call, video playback, text function, etc.
each function as a menu
user A has the permission to gesture and play video
user B has text function and call permission
so that different users have different functions (or role). Then role corresponds to the permissions of different functions)
so when used, it is roughly like the following

@ RequiresPermissions ("text:view"}
void listText () {...}

now the scene is more complicated
suppose that a user can use multiple phones and have different permissions for the same function of different phones
for example, users have two mobile phones An and B
users have permission to gesture to A
to B but not
how does shiro deal with this situation?

Apr.19,2022

how to distinguish between A phone and B phone?

MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1b32bc7-2b68d.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1b32bc7-2b68d.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?