I would like to test a use case in the following way.
User connects to network
Mikrotik detect the traffic and applies login-by-mac and sends an authentication request to our AAA server with user mac address as user name.
From our AAA server, would like to push response in such a way that Mikrotik should redirect the user traffic to captive portal configured in mikrotik.
Basically, I would like to know how to send a response to mikrotik so that it redirects the user traffic to captive portal. In captive portal page, I will provide a link to choose a bandwidth and on selection of that I would like to apply actual user bandwidth to Mikrotik. As I am having RADIUS server in hand, i would like to know the following in precise.
How to send a profile or response to Mikrotik from AAA, so that it redirects the user to captive portal
How to disable this profile and apply actual bandwidth to Mikrotik from AAA(through CoA or something..) whenever some action is taken up.
Why do you want to throw in an extra step there with the MAC-Auth?
By default the Hotspot will redirect all HTTP requests to the hotspot and serve them a web page that you select as their captive portal. The default page doesn’t give much in the way of options (it’s mostly just functional and a starting point), but you can program an external or internal page that they will be sent to and make it look and feel how you want. For what you want to do it sounds like you want to send them to an external login page, where they can select what level of service that you want. You can read the Wiki for more information on how to do it.
There are also paid for option out there so you don’t have to do the heavy lifting of designing your login page, collecting payments, and programing in the rate plans.
It sounds like you are looking for a custom application to meet a specific need. You can use a lot of the built in functionality of the router to get parts of it to work, but at the end of the day, it will require special coding on a web server to get it all to play together nicely.
You can allow people to sign in via MAC address by having that part of the server enabled. If the router does not get an accept back from the RADIUS server for that MAC address and password combination, when they go to launch their web browser they will then be redirected to the login page just like any other user. Depending on how you have it programed, you can then have them select a rate plan, and go through paying for it, or they can enter in other valid credentials that will generate an accept by the RADIUS server.
If you want them to sign in vai MAC addresses after registering, you can pass their MAC address to the external login page, store that data, and then use it add an entry to the SQL database that the RADIUS server uses upon a successful selection of a plan. This is the part that is custom coding on you or your developers part.