Resolved issue #6

This commit is contained in:
Alex Rennie-Lis
2024-04-07 20:47:56 +01:00
parent 48d4c73ca3
commit 9d60111262
5 changed files with 58 additions and 39 deletions

View File

@@ -35,6 +35,10 @@ data.users.forEach ((e) => {
module.exports = {
authUser: (username, password) => {
if (config.mac_auth_only) {
username = username.toLowerCase ().replace (/[:-]/g, '');
password = password.toLowerCase ().replace (/[:-]/g, '');
}
if (users[username] && users[username].password == password) {
return {
vlan: users[username].vlan
@@ -50,6 +54,10 @@ module.exports = {
payload = JSON.parse (payload);
var username = payload.username;
var password = payload.password;
if (config.mac_auth_only) {
username = username.toLowerCase ().replace (/[:-]/g, '');
password = password.toLowerCase ().replace (/[:-]/g, '');
}
var description = payload.description || "";
var vlan = payload.vlan;
users[username] = {
@@ -84,6 +92,9 @@ module.exports = {
},
getUser: (username, callback) => {
if (config.mac_auth_only) {
username = username.toLowerCase ().replace (/[:-]/g, '');
}
try {
var user = users[username];
callback (user, null);
@@ -93,19 +104,22 @@ module.exports = {
}
},
updateUser: (payload, callback) => {
payload = JSON.parse (payload);
callback ("OK\n\n", null);
},
deleteUser: (username, callback) => {
try {
delete users[username];
persistData ();
callback ("OK\n\n", null);
if (config.mac_auth_only) {
username = username.toLowerCase ().replace (/[:-]/g, '');
}
catch (error) {
callback (null, "Error");
if (users[username]) {
try {
delete users[username];
persistData ();
callback ("OK\n\n", null);
}
catch (error) {
callback (null, "Error");
}
}
else {
callback (null, "Not found");
}
}
}

View File

@@ -12,6 +12,10 @@ module.exports = {
if (decoded.code == 'Access-Request') {
var username = decoded.attributes['User-Name'];
var password = decoded.attributes['User-Password'];
if (config.mac_auth_only) {
username = username.toLowerCase ().replace (/[:-]/g, '');
password = password.toLowerCase ().replace (/[:-]/g, '');
}
var user = data.authUser (username, password);
var vlan = false;
if (user) {
@@ -59,7 +63,6 @@ module.exports = {
create: data.createUser,
getall: data.getUsers,
getone: data.getUser,
update: data.updateUser,
delete: data.deleteUser
}
}