Depends.
With EE you can create a member group, and some new templates, and set the permissions such that only the logged in members of that group can see the content on those templates. Those templates would display your photos.
But the permissions are all EE/web based - and not at the FTP level. Someone could grab the direct image URL and send it to someone else who would be able to view the image because EE isn’t involved in serving the image.
Hi Ddewit,
If your site hosting is linux rather than windows (i.e. you can use htaccess files), this approach from the wiki should work for you: http://expressionengine.com/wiki/Limit_access_to_upload_directories_based_on_membership/
Your server does the work of protecting your files from the web at large, and as boyink explained, you then create templates in EE which are only available to logged in members which include PHP code to access the protected files.
I haven’t used it myself, but there is also a commercial add-on called Client Downloads that might be worth looking into too http://devot-ee.com/add-ons/client-downloads/
If you’re willing to store the files on S3 then the simple s3 uploader extension/fieldtype is an option. You can upload the files as private and use authenticated urls in your EE template that allow the proper people to access their files. How you determine who should be able to view which files is up to you, but I’d suggest something like setting that user as the entry’s author and then in your {exp:weblog:entries} tag use the author_id=”CURRENT_USER” parameter.
I had the same question, but I have resolved it. I’ll be making a tutorial post and will update this with a link to it shortly.
My solution allows you to limit client access to only their client page, where they can view images, or download files, which are all behind .htaccess protected directories. Each client can only view their corresponding files, and other files are protected as well.
I haven’t used the particular add-on you spoke of, but after glancing over it’s functionality, documentation, and tutorials I can give you a brief run-down of the difference.
My version is more more geared toward project and client management, where you have clients with multiple projects that need organizational structure, rather than just file downloads.
While I’m sure client downloads is a great add-on, I am unsure as to if it supports the same functionality and feature set available within my concept. For example, in my system when the client logs in, and selects the project they want, they can view a project overview, status, timeline, image previews that link to a lightbox with fullsize images, and lastly file downloads.
In my solution file downloads is only a small part of the bigger picture, providing a secure client area where they can view their project as it comes together, view images pertaining to the project, and download any deliverables.
I have not tested the security on Client Downloads either, but I’ll assume its secure.
Given my understanding, it depends what you are planning to use this on. If it’s for a site like you mentioned where you sometimes have hundreds of images per client, I would think that folder categorization (via Client Downloads) may work great. However, if you need a more client and project management suite to show clients their project as a whole, and also allow secure file and image downloads, then my version may prove more suitable.
Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.