NATS3 MySQL Auth

From TMM Wiki
Jump to navigationJump to search
NATS 3
Members Admin
MySQL Auth
Members Admin
Member
ID Numbers
Expired Members
Creating Trial Members
Member Delete
Member Logging
Trial Member
Please note: As of Apache 2.4 mod_auth_mysql is discontinued and no longer supported
Please note: Usernames MUST be unique across all sites if using this method to authenticate members. 
Check the Surfer section of your Configuration Admin to ensure the 'UNIQUE_MEMBER_NAMES' setting is set to 'For all sites'.

Setting up MySQL Auth

This article applies to mod_auth_mysql 3.0

Biller Member Management

Tell the biller to turn off user management on their end.

.htaccess

For NATS password management you'll have to use a mysql auth method, like Apache's mod_auth_mysql. Below are specific configuration settings for mod_auth_mysql:

AuthMYSQLEnable on
AuthName "Members Only"
AuthType Basic
AuthGroupFile /dev/null
AuthMySQLHost localhost
AuthMySQLDB <name of the nats datatbase>
AuthMySQLUser <user for the nats database>
AuthMySQLPassword <password for the user for the nats database>
AuthMySQLUserTable members
AuthMySQLNameField username
AuthMySQLPasswordField password
AuthMySQLPwEncryption none
AuthMySQLUserCondition "status=1 AND siteid=X AND username != '' AND password != ''" 
require valid-user

Replace X in "siteid=X" to the ID number of one of your sites. To use a single member's area for all of your sites, remove "AND siteid=X" from the line. See the Multisite Access article for more options. The NOT condition prevents anyone from logging in without a username or password.

To use your old password files in combination with mod_auth_mysql, add the following line to the configuration on top of the auth mod_auth_mysql lines:

AuthMySQLAuthoritative Off

Notes

If other sites on the server use htaccess for authentication, but aren't using mod_auth_mysql, add the following options to the top of their htaccess files:

AuthMySQLEnable Off
AuthMySQLAuthoritative Off

Alternate Server Member Management

If your NATS database is not on the same server as your member's area, use the following instructions.

Use the GRANT command to grant the appropriate permissions to the NATS database username at the IP address of each member's area server and change the value of the AuthMySQLHost directive to the IP address of the NATS server. If you don't know how to do this, please request your Host or Server admin to allow the NATS database user to access the database from your members area servers.

See Also