why Some phone wifi mac address changes from one ap to another

I have a building with a wireless network. The total number of AP is 20 TP-Link TL-WA801ND .The way wifi works is simple
i Get the wifi mac for each mobile on network,
and then add to the AP whitelist table, but with the increase in the number of users, the work became more an more
I purchased a MikroTikRB1100AHx4,
but the problem has now appeared that some mobile Especially the iPhone change the MAC address from one AP to another ,
so When user connect to a defrint AP, a message appears invalid calling station id
Among the solutions I found on the Internet
is uncheck constraints bind on first user
but its not work for my Because I want only the residents of the building to have access to the Internet, not everyone one have the username and password

Forgive me if there are any errors in the expression, it is from Google Translator and not from me :smiley:
I appreciate any help from you
thank you all..

If the TP-Links had been programmable, like the MikroTiks,
I would have told you to block the wifi on all devices with in the MAC that in the first Byte had the 2 least significant bits other than 1…

iPhones changes MAC randomly unfortunally. Great for public WiFis but bad for home/enterprise networks.

If iPhone can’t use “fake MAC”, use the true MAC, like drop all DNS traffic to 8.8.x.x on smartphone force the device to use the DHCP provided one…

I seems that some Android has this setting as default as well:

Android devices running the Android 10 operating system (Android Q) have a new feature that randomizes the MAC address for different Wi-Fi connections. This feature is enabled by default but can be disabled for specific Wi-Fi networks.