I’m trying to create password-protected pages on my portfolio for specific projects that are under an NDA. I want to set up a system where if the user successfully enters the password to access one case-study, then they don’t need to do so going forward for any other password-protected pages.
Is there any way to do this without using a paid 3rd party integration? Seems like the kind of thing that custom code should be able to do without much trouble.
You could use client-side scripts, and a shared “password”, but it’s very insecure and more importantly it would not block search engines from picking up that NDA content and keywords.
You have to decide what’s acceptable within the terms of your NDA, but assume your content is not actually secured with this approach.
On your collection page, build a giant password modal to cover / blur the page.
Display it by default
Remove it automatically if that CMS item does not require a password
Remove it if the user has already entered the password ( cookie, localStorage, sessionStorage, depending )
Otherwise make them enter the password, set your cookie and remove the gate
If you need actual security on top of individual collection item pages, I’d setup a reverse proxy configuration with Cloudflare zero trust. There you can hard-gate individual URLs in complex ways. To my knowledge though you do not have much stylistic control on those gates, it will not look pretty- you’d have to research what styling options you have. In any case there’s no cost for this setup but a lot of learning curve to tackle.