AJUDA COM EXERCICIO EM PYTHON
É um exercicio do meu curso online iniciante, mas estou me batendo muito para realizar.
Em python: (As permissões devem estar previamente armazenad)
-O usuário deve entrar com o seu login e senha (autenticação)
-Se o usuário estiver autenticado, continue a execução do programa
-Caso contrário, saia do programa e mostre a mensagem "Usuário ou senha inválidos" na tela
-A relação usuário/senha deve estar armazenado em um arquivo (TXT, CSV, JSON ou XML)
-As permissões dos usuários devem estar armazenadas em um arquivo (TXT, CSV, JSON ou XML)
-O sistema deve perguntar ao usuário qual ação ele deseja realizar (ler, escrever ou apagar) sobre um recurso fictício
-No contexto do trabalho, o recurso fictício, no caso, não é um arquivo existente no sistema
-Ele deverá especificar a ação que deseja realizar (ler, escrever, apagar) sobre um recurso
-O sistema deve perguntar ao usuário qual arquivo ele deseja realizar a operação selecionada no item 2
-O sistema deve imprimir na tela caso o acesso foi concedido ou não
-“Acesso permitido” caso o acesso foi concedido
-Se não, “Acesso negado”
Em python: (As permissões devem estar previamente armazenad)
-O usuário deve entrar com o seu login e senha (autenticação)
-Se o usuário estiver autenticado, continue a execução do programa
-Caso contrário, saia do programa e mostre a mensagem "Usuário ou senha inválidos" na tela
-A relação usuário/senha deve estar armazenado em um arquivo (TXT, CSV, JSON ou XML)
-As permissões dos usuários devem estar armazenadas em um arquivo (TXT, CSV, JSON ou XML)
-O sistema deve perguntar ao usuário qual ação ele deseja realizar (ler, escrever ou apagar) sobre um recurso fictício
-No contexto do trabalho, o recurso fictício, no caso, não é um arquivo existente no sistema
-Ele deverá especificar a ação que deseja realizar (ler, escrever, apagar) sobre um recurso
-O sistema deve perguntar ao usuário qual arquivo ele deseja realizar a operação selecionada no item 2
-O sistema deve imprimir na tela caso o acesso foi concedido ou não
-“Acesso permitido” caso o acesso foi concedido
-Se não, “Acesso negado”
Antony
Curtidas 0
Respostas
Arthur Heinrich
26/04/2023
Por se tratar de um exercício, você precisa pensar um pouco. É esta a finalidade de um "exercício". Exercitar.
Porém, vamos tentar te ajudar.
Este exercício tem por objetivo exercitar a leitura do conteúdo de arquivos, para ler a lista de usuários/senhas de um e permissões do outro.
Imagine que seu arquivo "usuarios.txt" contenha uma linha mais ou menos assim:
antony;senha123
Este é o formato conhecido como CSV. O CSV original (comma separated values) requer uma vírgula separando as colunas. Mas, como no Brasil é costume utilizar a vírgula em valores decimais, criar um arquivo CSV com valores decimais viraria uma bagunça. Então, costuma-se utilizar o ponto e vírgula como separador.
Esta linha diz que existe um usuário chamado "antony", cuja senha é "senha123".
Seu programa deverá pedir que o usuário digite um nome de usuário e, em seguida, sua senha.
Com base nestes dois valores fornecidos, deve ler o arquivo de usuários e verificar se existe uma linha que bata com os valores informados.
Se não existir, mostre a mensagem "Usuário ou senha inválidos" e encerre o programa.
Na segunda etapa do programa, a tarefa é muito semelhante.
O programa deve pedir duas informções: "operação" e "nome da tabela".
Fará a leitura do arquivo permisoes.txt em busca de uma linha contendo a permissão e o nome da tabela.
Se existir, mostre a mensagem "Acesso permitido". Caso contrário, mostre a mensagem "Acesso negado" e encerre o programa.
Porém, vamos tentar te ajudar.
Este exercício tem por objetivo exercitar a leitura do conteúdo de arquivos, para ler a lista de usuários/senhas de um e permissões do outro.
Imagine que seu arquivo "usuarios.txt" contenha uma linha mais ou menos assim:
antony;senha123
Este é o formato conhecido como CSV. O CSV original (comma separated values) requer uma vírgula separando as colunas. Mas, como no Brasil é costume utilizar a vírgula em valores decimais, criar um arquivo CSV com valores decimais viraria uma bagunça. Então, costuma-se utilizar o ponto e vírgula como separador.
Esta linha diz que existe um usuário chamado "antony", cuja senha é "senha123".
Seu programa deverá pedir que o usuário digite um nome de usuário e, em seguida, sua senha.
Com base nestes dois valores fornecidos, deve ler o arquivo de usuários e verificar se existe uma linha que bata com os valores informados.
Se não existir, mostre a mensagem "Usuário ou senha inválidos" e encerre o programa.
Na segunda etapa do programa, a tarefa é muito semelhante.
O programa deve pedir duas informções: "operação" e "nome da tabela".
Fará a leitura do arquivo permisoes.txt em busca de uma linha contendo a permissão e o nome da tabela.
Se existir, mostre a mensagem "Acesso permitido". Caso contrário, mostre a mensagem "Acesso negado" e encerre o programa.
GOSTEI 0
Leticia Lima
26/04/2023
Olá tudo certo Antony ?
Vamos suporte que voce tenha seu arquivo .csv já na pasta raiz ai.
Neste exemplo, o vamos ler os dados de usuários do seu arquivo CSV, autentica o usuário com base no login e senha fornecidos, e depois verifica se o usuário tem a permissão necessária para realizar a ação desejada no recurso fictício.
Vamos suporte que voce tenha seu arquivo .csv já na pasta raiz ai.
Neste exemplo, o vamos ler os dados de usuários do seu arquivo CSV, autentica o usuário com base no login e senha fornecidos, e depois verifica se o usuário tem a permissão necessária para realizar a ação desejada no recurso fictício.
import csv
def autenticar_usuario(login, senha):
with open('usuarios.csv', newline='') as arquivo:
leitor = csv.DictReader(arquivo)
for linha in leitor:
if linha['usuario'] == login and linha['senha'] == senha:
return linha['permissao']
return None
def realizar_acao(acao, arquivo, permissao):
permissoes_validas = {'ler', 'escrever', 'apagar'}
if permissao not in permissoes_validas:
print("Permissão inválida.")
return
if acao == permissao:
print("Acesso permitido.")
else:
print("Acesso negado.")
def main():
login = input("Digite seu login: ")
senha = input("Digite sua senha: ")
permissao = autenticar_usuario(login, senha)
if permissao is not None:
print(f"Bem-vindo, !")
acao = input("Digite a ação que deseja realizar (ler, escrever, apagar): ")
arquivo = input("Digite o nome do arquivo: ")
realizar_acao(acao, arquivo, permissao)
else:
print("Usuário ou senha inválidos.")
if __name__ == "__main__":
main()
GOSTEI 0