Applying Security to your NodeJS pages

Might be this bug:

I’m sure it could well be, however for me I’m not seeing it at all regardless of whether the page has a layout selected or not.

Hi Teodor,

I have followed your instruction to do login page and page restrict in nodejs project.

in my case i have two roles admin, registered. right now i’m focusing on admin role to give secure access to the dashboard page which is inside a folder called “admin” so the dashboard page is index.ejs inside the admin folder. and i have created a login.ejs page and placed a partial login form. which has the server connect action set to userLogin.

i have created the users successfully but when i use them to login which return 404 on http://localhost:3000/admin/api/userLogin

Also page redirection in place as you instructred, when success case and unauthorized case.

Could you or anyone else who succeeded please help me out… where i’m doing wrong?

please see the screenshot below:

I had the same problem with admin, writer and manager, this is very easy in php, but in nodejs it is too complicated

1 Like

what would be the best solution to show the user a message that they need to login after the redirect?

You can redirect to the login page using an url param like ?login=1 and then use this url parameter to show/hide a message on the page.

that’s what i thought.

Since I build my app just as in the tutorial (https://www.youtube.com/watch?v=5pSck9KIGBM) with a login-modal in the main-layout, I would have to do this on the main layout, right?

My idea was to show the modal on pageload if the url-param is set. For a wappler-newbie like me, it took some time to figer out how to do this. Here a short guide for anyone with the same problem:

  1. in the Security Restrict set the login URL to something like /?modal=login
  2. In the main Layout, configure the new Params
  3. on the model set a dynamic attribute for “modal show” with “(query.modal == ‘login’)”
1 Like

@Teodor - In this tutorial there is a database query in the server action but it doesn’t seem to be used. Am I missing something?

Never noticed that before!
Gut feeling is it is a “who am i” type query to identify the current user’s details but simply doesn’t get a mention as it is certainly not mandatory.