> For the complete documentation index, see [llms.txt](https://dotsnet.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dotsnet.gitbook.io/docs/user-manual/authentication.md).

# Authentication

**DOTSNET** supports all types of authentications.&#x20;

Inherit from `NetworkClientAuthenticatorSystem` and override `BeginAuthentication` to initiate the handshake from the client. Usually you would send a `LoginMessage` with username & password to the server.

Inherit from `NetworkServerAuthenticatorSystem` and call `SetAuthenticated` after the `LoginMessage` was finished, which flags the connection as authenticated. Messages that require authentication will be handled for this connection afterwards.

You can also send several handshake messages back and forth. Simply call `SetAuthenticated` once it’s done.Note that connections are authenticated by default, unless you inherit from `NetworkServerAuthenticatorSystem`.
