My website has public pages and non-public pages. Only a logged in user can access the non-public pages. My question is: how do we prevent non logged in people from accessing those pages.
The following nodejs controller method renders the view \admin\index. What code needs to be added to prevent non logged in users from accessing the view?
exports.getIndex = async(req,res) => {
// How do I block this view from rendering if the user is not logged in?
// I.e. how do I check to see if there is a session record when this view is accessed?
Fetch the current user, if nothing is returned either don't render the page or redirect them to a login page.
Can the current User be fetched by a non logged in user?
if they're not logged in it will return nothing
I think in this case, an error would be generated.
try {
const user = await account.get();
} catch (error) {
redirect("login");
}
You can do something like this.
ok thanks Kenny.
Recommended threads
- Database error validating 'min' and 'max...
I keep seeing an error when I try to add a column to a database table within the AppWrite cloud UI. I also see this error when trying to create or update a reco...
- Fine grained permissions for webRTC hand...
Hi, I am building a WebRTC P2P app for a university project and have hit a security limitation regarding permissions for anonymous users. The Architecture: We ...
- Synchronous Function Execution Timed Out...
Hi Appwrite team 👋 I’m facing a synchronous function execution timeout issue on Appwrite Cloud and would appreciate some guidance. I executed this function u...