Support » Developing with WordPress » How to restrict file downloads to specific users?

  • spacewalk


    For the Web site of a design firm, I want to create a Client Support page that is dynamically built especially for the logged-in client, and that contains all info (text, calendar, deadlines, and especially file downloads) pertaining to that client, and which *only* that client should see. I envision this user scenario:

    1. User goes to a static front-end “Client” page and logs in with a username and password.
    2. The page uses the now-authenticated username to dynamically build on the fly a custom page for that user, listing all information relevant to him/her, including a list of available file-downloads which have been uploaded by the company and associated somehow with that user. And this info is visible only if you’re logged in.

    In WP, can you in fact:

    A) Associate uploaded files with a specific user, maybe by using categories?
    B) Make these files not visible to all users?
    C) Get the username and supply it as a parameter to a function that will return a linked list of files that have that username as a category? Make such a file-list visible only if the user is logged in?

    Something like that? Thanks.

Viewing 15 replies - 1 through 15 (of 21 total)
  • This is interesting and would be interested myself in knowing more how to do this.

    Have you found a plugin that does this or figured out a way to buildit in the WP?

    This would work great for my service company, my clients would be able to download their workorders and service reports!


    Another vote for the above. It’s be a great feature to have built in to WordPress.

    I’ve tried a few “solutions” in the past that never worked out for various reasons including the “WordPress Download Manager” plugin (which is out of date/broken…couldn’t get it to work), .htaccess files + web page logins (too confusing for some users) and paFileDB (which doesn’t restrict hot-linking and can’t deal with administrator-locked password accounts–i.e. shared logins). Two related additions to this request:

    1) To avoid messing with .htaccess files and all that complication, it would be good if files could be encrypted or stored in a database or something so that they can’t be accessed by hot linking.

    2) It would be nice to have a “locked” user that the administrator could control…so users will need a user name/password from the administrator, but not be allowed to change their password. Why? This feature would make a great “Press Center,” where I could post info for press that’s not ready for the public and search engines. Just send press an e-mail with name/login and they get the files in a few clicks.

    BTW, I just noticed the “Drain Hole” Plugin. I’ll give it a try to see if it works…

    I have been trying to find someone to create a plugin that does the above via guru, elance, and GAF but havent found anyone yet.

    I will keep you guys up to date with the processes.

    What specs should I include in the project?


    yet another vote. HOWEVER! under most circumstances, with regard to commercial application whereby something is paid for, the transaction processor will refer the purchaser to a landing page. THAT CAN BE ANYWHERE. so actually building this feature into WP… that kind of thing is more for the shopping cart which does have the communication with the TP.

    I’ve never been able to find such a thing for my web design site so I just use PHPCollab. It’s a click away in another directory, and you CAN style it so it integrates with the rest of your site design. My clients do seem to love its functionality. It’s got a built in forum, milestones, Gannt charts, etc. The problem is you can probably, via a plugin and/or some vicious hacking, get WP to accept logins and present a certain screen to the logged in user, but that’s where all the functionality that you want stops. So my recommendation is to save the headache and use a tool designed specifically to interact with your web design clients, PHP Collab. ActiveCollab is a great app as well, a friend of a friend developed it. I’m just so used to PHP Collab, been using it for years.

    All though not the exact solution, you could always set up something like it with I haven’t used it myself, but was considering it when I thought about doing something along the lines of what you made clear above. And then we can just hope that they upgrade MU to WP 2.5.

    Hi, I am actually in the process of building something like this for my company’s wordpress site.

    Currently we have four systems:
    1) WordPress which manages all the pages.
    2) Zen Cart for checkout/order processing.
    3) VTiger for Knowledge base, order tracking, and support calls.
    4) An internal system which manages support contracts, dynamic device updates, etc.

    I have written a plugin which currently works with all three of them via WebService calls to determine what level of access the user has to our protect content areas. Each protected page is then assigned a “lowestLevel” and as long as the user has a level equal to or higher, they can view that page.

    Currently it’s just static content, which is the same for all users, but the idea is there to make it dynamic, including file downlaods, based on what the user has purchased in the store and when support expires.

    My next step is to build in a Knowledge base.

    Just thought I’d put in my two cents and see if anyone has suggestions.


    Hello Everyone,

    My name is Paolo and I’m a software / WordPress developer with SoftWUD. I’ve just started looking into something similar myself, so I was just wondering if anyone has found a good commercial grade solution to this problem?!

    If not and there is enough interest in such a plugin, I would consider developing such a plugin for a modest price.

    If you are interested for such a plugin, or any other WordPress plugins or services, you can contact me at


    Hey All,

    I have someone working on writing the plugin for me (via elance). I will let you know when its done, and setup a demo for you all to check it out.

    All the best!

    cool! keep os posted…(-;

    How do I restrict download link which are meant only for registered users only

    The best I can come close to is making a page for each client and using the below plugin to restict viewing of that page only to their user id.

    User Permissions Plugin

Viewing 15 replies - 1 through 15 (of 21 total)
  • The topic ‘How to restrict file downloads to specific users?’ is closed to new replies.