Setting up anonymous access in SharePoint can be tricky if you don't plan it well ahead. As a first step we can check at which level we can set anonymous access in SharePoint.
Web Application Level
When you create a web application in SharePoint you can set the anonymous access at the web application level. This will allow the entire anonymous user to access the site.
- Go to SharePoint Central Administration site then select "Application Management" ->"Web Application Management".
- In the Create New Web Application Screen choose "Yes" for "Allow Anonymous".
Extended Web Application Level
When you create an external facing site it's a best practice to have an extended web application that will face the external traffic.
- Go to SharePoint Central Administration site then select "Application Management" ->"Web Application Management".
- In the Web Application Management screen select the web application to extend and click on extend and in the Screen choose anonymous access in security.
Other Settings at Web Application Level
Authentication Provider
- Go to SharePoint Central Administration site then select "Application Management" -> "Web Application Management"
- In the Web Application Management screen select the web application click on Authentication Provider.
- In Authentication Provider select the Zone in which you need to change the authentication.
- You can edit the authentication and set the anonymous access
Anonymous Policy
- Go to SharePoint Central Administration site then select "Application Management" -> "Web Application Management"
- In Web Application Management screen select the web application click on Anonymous Policy.
- Set the Anonymous policy for each Zone
SharePoint Site Collection Level
As a first step you need to enable anonymous access at web application level and go to the site collection in which you want set up the anonymous access. One thing to ensure is that the site is accessed through a proper zone in which anonymous access is enabled at the web application level. For example I have created a web application in port 80 and extended it for internet in port 4040 and enabled the anonymous access for the internet zone. Then I should access the site with port 4040 or with the proper host header to set the anonymous access at the site collection level.
Go to Site Settings, click on "Site Permissions".
Click on "Anonymous Access".
Give anonymous permission to the entire web site unless you want to enable it for a specific list, uncheck the "Require Use Remote Interface" Permission.
Click "Ok" to save the changes, then close the browser and access the site again; it will not prompt you.
SharePoint Library Level
As a first step, ensure anonymous access is enabled at the web application level.
Go to any library and click on "Library settings".
Go to the permission.
Click on "Stop inheriting".
Click on "Anonymous Access".
Set the permission for the anonymous user.
By default an anonymous user cannot add and edit items in a document library, which is disabled, even with anonymous access enabled. So for a document library all options will be greyed except "View documents".
For a SharePoint list you can allow anonymous users to perform all operations as in the following.
Application Page Level
You need to deactivate the following feature to allow anonymous users to access application level pages.
Hope this will help setup anonymous permissions.