The situation in which a login is requested matters.
Membership currently support 3 login flows with three slightly different behaviors.
You clicked the login button, or you navigated directly to the /log-in page.
By default a user will be redirected to the home page after login, however this can be overridden using the Redirect fallback setting, which is on the Log-In Form Block on the Log in Page.
Currently, [ Dec-2022 ] these redirection options are limited to five pages - Home, User Account, Log In, Sign Up, or Reset Password.
You attempted to access a gated page, and are not currently logged-in.
In this situation, Webflow will automatically redirect you to the Log In page, and then on successful login, will re-attempt to direct you to the requested page.
The Webflow team has implemented this well.
Let's suppose you want to link customers directly to an article, but that article is members-only.
Here's the UX flow you want;
This makes it relatively easy to direct people where you want, without worrying about whether they're logged in, or whether they even have an account. To use this feature, you just hand someone the direct link to your page...
https://mysite.com/courses/my-members-only-page
... and Webflow takes care of the rest.
You have just completed sign-up, and are being logged-in for the first time.
Immediately after the sign-up form is completed, the user is automatically routed through the log-in page to complete authentication.
But what if, immediately after a normal log-in, you want your users to always land on a specific page?
This is possible with javascript. We can insert a touch of script into that flow to make it work how we want it to.
Here's how that script works;
I've done an implementation of this on this site, and it works smoothly.
Sign Up for a free Members account, and then after you are authenticated, log out, and log back in again using the top navbar's login button.
You'll see that you are taken to the Members-Only Home Page instead.
WANT THE CODE? I'm happy to share, but I'm waiting to finalize this process so the default behavior is more stable.