In case someone is still trying to find a solution, this was a fix for me. You need CRUD access to the database either through the SQL tool in Host or SQL Management Studio.
We need to add a role to the TabPermissions table to configure the offending "Login" page to be accessible by "unauthenticated users". It will not work with "All Users" permission as the users have not authenticated themselves before they try to access login.
Don't forget to backup your site and database first, just in case. I cannot guarantee this will work for everyone. it is worth checking all columns exists and bring back a result in a select, before running an update
1. Find the tabID of the login page (you can use this handy little script).
SELECT portalID, TabID, TabName, Title, TabPath, IsVisible AS InMenu, IsSecure, SkinSrc, ContainerSrc,
SELECT '; '
+ ISNULL(r.RoleName, CONVERT(NVARCHAR, tp.RoleID)) + ' ['
SELECT ', ' + PermissionName
FROM TabPermission tpSub
INNER JOIN Permission p
ON p.PermissionID = tpSub.PermissionID
WHERE tpSub.TabID = tp.TabID
AND tpSub.RoleID = tp.RoleID
FOR XML PATH('')),
FROM TabPermission tp
LEFT OUTER JOIN
(SELECT RoleID, RoleName FROM Roles
UNION ALL SELECT -1, 'All Users'
UNION ALL SELECT -2, 'Registered'
UNION ALL SELECT -3, 'Unauthorized') r
ON tp.RoleID = r.RoleID
WHERE tp.TabPermissionID IN
FROM TabPermission tpMin
WHERE tpMin.TabID = Tabs.TabID
GROUP BY tpMin.RoleID
ORDER BY tp.RoleID
FOR XML PATH('')), 3, 1000) AS Permissions
WHERE PortalID in(0) //replace with portal id
--and tabid in()
AND IsDeleted = 0
ORDER BY TabPath
2. Once you have the tabID amend and run the following Update.
UPDATE tabpermission SET RoleID = -3 WHERE tabID = "YourTabID" AND PermissionID = 3
The login page will be accessible now, so login and update the permissions as required for the login page