Suppose your website will have 4 kind of files for upload and download that are handled with and without login.
So there are 4 file access groups, e.g.
flyer_filegroup
picture_filegroup
internal_filegroup
customer_filegroup
You want to provide the download for the groups flyer_filegroup and picture_filegroup for all users without any login.
Moreover, you want to protect the download of files of the internal_filegroup by a login.
Finally, some customers should be allowed to upload and download files in the group customer_filegroup.
For the right handling of all files, there should be a system administrator for the uploading and administration of all groups. Of course, this administrator must login.
In TYPO3, the login is done by frontend groups and users. A user account is protected by a user name and a password. Each user is associated to at least one frontend group.
Our example has 3 kind of logins, so we need 3 frontend groups,
internals_fegroup: download of internal files
customers_fegroup: download and upload of customer files
systemadministrators_fegroup: download, upload, and administration of all files
To each of these frontend groups, we add at least one frontend user, e.g.
internal_user1 and internal_user2 for group internal_filegroup
customer_user1 and customer_user2 for group customers_fegroup
sysadm_user for group systemadministrators_fegroup
It is necessary to provide a password to each user.
To fulfill the requirements, we need the following TYPO3 pages on our example website:
Download: download for files of flyer_filegroup and picture_filegroup. Use plugin1 Download.
Internal Download: restricted download for files of internal_filegroup. Use plugin1 Download.
Customer Download: download for files of customer_filegroup. Use plugin1 Download.
Customer Upload: upload for files to customer_filegroup. Use plugin2 Upload.
All Download: download of system administrator with access to all files. Use plugin1 Download.
All Upload: upload of system administrator with access to all file access groups. Use plugin2 Upload.
All load2b Admin: administration of system administrator with access to all file access groups. Use plugin3 Administration.
TYPO3 provides the possibility to restrict each page or even each plugin to a frontend user group. This is done by editing a page or plugin at the bottom. At General Options (continued), choose a user group at Items:. Then this page or plugin is only shown after the login of a member of this frontend user group occurred. For other users or no login, this page or plugin is invisible.
Our website pages restrict to the following frontend user group:
Download: no restriction to any frontend user group
Internal Download: restriction to frontend user group internals_fegroup
Customer Download: restriction to frontend user group customers_fegroup
Customer Upload: restriction to frontend user group customers_fegroup
All Download: restriction to frontend user group systemadministrators_fegroup
All Upload: restriction to frontend user group systemadministrators_fegroup
All load2b Admin: restriction to frontend user group systemadministrators_fegroup
Using TypoScript (in TYPO3 module Template), we can restrict each page to one or more file access groups. To complete our requirements, we add the following TypoScript variable groupname to each named website page:
Download: plugin.tx_netcosload2db_pi1.groupname = flyer_filegroup,picture_filegroup
Internal Download: plugin.tx_netcosload2db_pi1.groupname = internal_filegroup
Customer Download: plugin.tx_netcosload2db_pi1.groupname = customer_filegroup
Customer Upload: plugin.tx_netcosload2db_pi2.groupname = customer_filegroup
For the following pages, no TypoScript variable is needed, because that means that all file access groups are allowed:
All Download: none
All Upload: none
All load2b Admin: none
Usually, the administration is restricted to the allowed file access groups. In this case, all of these groups are allowed, so user sysadmin_user has access to the complete set of administration.