-
Notifications
You must be signed in to change notification settings - Fork 0
/
Logado.cpp
84 lines (72 loc) · 2.38 KB
/
Logado.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include "Logado.hpp"
void Logado::SetPermissoes(Permissao Permissoes) {
this->Permissoes = Permissoes;
}
void Logado::SetNome(string Nome) {
this->Nome = Nome;
}
void Logado::SetLogLeitura(Leitura Logs) {
this->LogLeitura.push_back(Logs);
}
void Logado::SetLogEscrita(Escrita Logs) {
this->LogEscrita.push_back(Logs);
}
void Logado::SetLogPermissaoNegada(PermissaoNegada Logs) {
this->LogPermissaoNegada.push_back(Logs);
}
Permissao Logado::GetPermissoes() {
return this-> Permissoes;
}
string Logado::GetNome() {
return this-> Nome;
}
list<Leitura> Logado::GetLogLeitura() {
return this-> LogLeitura;
}
list<Escrita> Logado::GetLogEscrita() {
return this-> LogEscrita;
}
list<PermissaoNegada> Logado::GetLogPermissaoNegada() {
return this-> LogPermissaoNegada;
}
int Logado::VerificarPermissaoLeitura(string Classe, string NomeMetodo) {
string mensagemNegada = "ERRO: Permissão inválida para acessar informação";
int counter = 0;
list<string> Permissoes = this->Permissoes.GetNaoPermitido();
list<string>::iterator it;
for (it = Permissoes.begin(); it != Permissoes.end(); it++)
{
if(*it == NomeMetodo)
{
counter++;
PermissaoNegada LogNegado = PermissaoNegada(Date::dateNow(), "Nome", Classe, NomeMetodo, mensagemNegada);
this->SetLogPermissaoNegada(LogNegado);
} else
{
Leitura LogSucesso = Leitura(Date::dateNow(), "Nome", Classe, NomeMetodo);
this->SetLogLeitura(LogSucesso);
}
}
return counter;
}
int Logado::VerificarPermissaoEscrita(string Classe, string NomeMetodo, string InformacaoAtual, string InformacaoAnterior) {
string mensagemNegada = "ERRO: Permissão inválida para acessar informação";
int counter = 0;
list<string> Permissoes = this->Permissoes.GetNaoPermitido();
list<string>::iterator it;
for (it = Permissoes.begin(); it != Permissoes.end(); it++)
{
if(*it == NomeMetodo)
{
counter++;
PermissaoNegada LogNegado = PermissaoNegada(Date::dateNow(), "Nome", Classe, NomeMetodo, mensagemNegada);
cout << mensagemNegada << endl;
this->SetLogPermissaoNegada(LogNegado);
} else
{
Escrita LogSucesso = Escrita(Date::dateNow(), "Nome", Classe, InformacaoAtual, InformacaoAnterior);
this->SetLogEscrita(LogSucesso);
}
}
return counter;
}