It is unclear how your login procedure is currently working, but its broken and needs fixing - particularly if - as hinted at - it passes the login and password back and forth between the client and server on each page.
The standard way of handling logins is to perform a login and then set a cookie which the user passes back and forth - in this way once the login is performed the server knows who the user is without sending the credentials multiple times. Most programming languages used for web programming have a concept of a session - which does this for you. A session is particularly useful as it can remember settings/variables between page views, so providing a lightweight and convenient way of handling user preferences. Logging out becomes as simple as destroying the session. Because its done by way of cookies it can easily be set to prevent third parties involvement in the login process In order to support third party logins you will need to implement something like SSO (Single Sign on) or equivalent with those parties.
Not a recommendation as its not a best practice - but If you dont want to change the current mechanisms as above another mechanism you can use is to ensure that before displaying pages other then the login page is to check the REFERER header - which will allow you to make sure the login was completed on your site. This would, however, prevent users from logging in, then opening a new tab/window and browsing your site from that Window - they would need to log in again.
Her another bad way to do this - which will frustrate general scrapers but is not fullproof - is to create a table of IP addresses associated with logged in users and deny access to requests coming from other IP addresses until logged in. Things like carrier-grade NAT means its not a robust solution - but can validly be selectively used to provide login-free access to an organisation per static IP in addition to the cookie/session mechanism above.