-
>
)}
diff --git a/src/pages/Security.jsx b/src/pages/Security.jsx
index 66aab9e..7b83ac1 100755
--- a/src/pages/Security.jsx
+++ b/src/pages/Security.jsx
@@ -1,20 +1,24 @@
-// src/pages/Security.jsx
-import React, { useState } from 'react';
+import React, { useState, useEffect } from 'react';
import PageLayout from '../components/PageLayout';
+import { post, get } from '../api'; // Supondo que os métodos post e get estejam definidos na API.
const Security = () => {
- // Estado para armazenar se MFA está habilitado e os métodos de autenticação
- const [isMFAEnabled, setIsMFAEnabled] = useState(false);
+ // Estado para armazenar os métodos de autenticação
const [authMethods, setAuthMethods] = useState({
RFID: false,
App: false,
- Password: true,
+ Password: false,
});
+
+ // Estado para armazenar a lista de usuários
const [users, setUsers] = useState([
{ username: 'admin' },
- { username: 'user1' },
]);
+ // Estado para o novo nome de usuário
+ const [newUser, setNewUser] = useState('');
+
+ // Função para alterar os métodos de autenticação
const handleAuthMethodChange = (method) => {
setAuthMethods({
...authMethods,
@@ -22,22 +26,54 @@ const Security = () => {
});
};
-
- const addUser = (username) => {
- setUsers([...users, { username }]);
+ // Função para buscar os dados de autenticação da API
+ const fetchAuthMethods = async () => {
+ try {
+ const data = await get('/api/v1/config/auth-methods'); // Busca os dados de authMethods da API
+ setAuthMethods(data); // Preenche o estado com os dados recebidos
+ } catch (error) {
+ console.error('Erro ao buscar configurações de autenticação:', error);
+ alert('Erro ao buscar configurações de autenticação.');
+ }
};
+ // Função para enviar os dados para a API
+ const handleSubmit = async (e) => {
+ e.preventDefault(); // Evita que a página seja recarregada ao enviar o formulário
+
+ try {
+ await post('/api/v1/config/auth-methods', authMethods); // Envia os dados de authMethods para o servidor
+ alert('Configurações de Autorização salvas com sucesso!');
+ } catch (error) {
+ console.error('Erro ao salvar configurações:', error);
+ alert('Erro ao salvar configurações.');
+ }
+ };
+
+ // Função para adicionar um novo usuário
+ const addUser = () => {
+ if (newUser.trim() !== '') {
+ setUsers([...users, { username: newUser }]);
+ setNewUser(''); // Limpa o campo de entrada após adicionar
+ }
+ };
+
+ // Função para remover um usuário
const removeUser = (username) => {
setUsers(users.filter((user) => user.username !== username));
};
+ // Use o useEffect para buscar os dados de autenticação quando o componente for montado
+ useEffect(() => {
+ fetchAuthMethods();
+ }, []);
+
return (
-
{/* Métodos de Autorização */}
Métodos de Autorização
-
+
+
+
+
- {/* Utilizador */}
-
-
Utilizador
-
-
-
-
Nome de Usuário
-
Ações
-
-
-
- {users.map((user, index) => (
-
-
{user.username}
-
-
-
-
- ))}
-
-
-
-
-
-
-
-
+ {/* Utilizadores */}
+
+
Utilizadores
+
+
+
+
Nome de Usuário
+
Ações
+
+
+
+ {users.map((user, index) => (
+
+
{user.username}
+
+
+
+
+ ))}
+
+
+
+ setNewUser(e.target.value)} // Atualiza o valor do novo nome de usuário
+ placeholder="Digite o nome de usuário"
+ />
+
+