I'm setting up a pyramid application where access to ressources can be shared across registered users. 
I would also like to give access to non-members, using non-trivial links to files or directories.
While I see how to do this for registered members, I'm not sure how to do this with anonymous users. Do I need to create an unprotected view and perform security checks myself ? 
Maybe a better way would be to append access rights to users sessions using cookies? 
Can route factories help me for this purpose? Any other way?
If you've figured out how to do this for authenticated users, it should be obvious how to do it for anonymous users as well. They will have the pyramid.security.Everyone principal, which you can use in your ACLs to assign various permissions.
Route factories will allow you to assign custom ACLs to individual routes. They simply override the default root factory on the Configurator.
url-enabled access to ressources with pyramid