I would like to achieve the following scenario:

-) A user fills out a webform specifying an email address (amongst other information)
-) After submitting the form, an email is sent to this email address
-) The email contains a link that can be used only once by the user (one time token/pass phrase)

-) If the user navigates a second time to this node (or a user comes to this node without a token at all), an information is displayed how to get the token (link to the download webform)
-) Users who are logged in can access the node/page without the specific token

So what I'm basically looking at is a one time login that gives a specific privilege for the life time of the session. The node can be accessed with this privilege, but also with other privileges granted through "normal" username/passwd logins. I don't want to give public access to a download (of a product installer), but I also don't want to force everybody to register.

There are quite a few modules out there that deal with node access:
http://groups.drupal.org/node/42706

In particular:
http://drupal.org/project/nodeaccess
http://drupal.org/project/content_access

And even more so with special / one time access, but none of the modules really does what I described. Especially in connection with the webform module:
http://drupal.org/project/peek
http://drupal.org/project/nodeaccess_password
http://drupal.org/project/loginticket
http://drupal.org/project/temporary_invitation
http://drupal.org/project/one_time_login
http://drupal.org/project/login_one_time
http://drupal.org/project/email_download

Does anybody have an idea on how to achieve what I described?

Comments

megic’s picture

I found another module that falls into the same category, but it protect a node always with the same password:
http://drupal.org/project/protected_node

That unfortunately doesn't give me the possibility to send a temporary username & password to a user by email.

Nobody out there with any additional ideas?

WorldFallz’s picture

I think you might be able to do this with the rules module-- trigger a rule when the webform is filled out that adds a user to a role, then trigger another rule that removes the user from the role once the node has been viewed.

megic’s picture

Thanks for the hint with the rules module.

I'll try to take a look and see whether I can figure it out.

dlaidig’s picture

I realize this is an old post, but i'm trying to do the exact same thing. DId you figure anything out? What solutions are available?