The sqlauth module as devicenull suggested allows you to store usernames and password hashes in a SQL database (SQLite, PostgreSQL, MySQL, etc) and can even integrate with the user table from an existing application (mediawiki, phpBB, etc).
The ldapauth module supports directly integrating with LDAP servers (Active Directory, OpenLDAP, etc).
Another option is to have users connect through ZNC and not allow direct access to InspIRCd at all. In addition to requiring authentication before a user can connect, ZNC also supports SSL and implements history buffers so users can stay in a channel persistently without actually being connected 24/7. When user reconnect they get a replay of all activity which occurred while they were gone. ZNC supports simple password authentication out of the box, but ZNC modules also exist for using SSL Client Certificates or external SASL authentication including LDAP servers.