Ciao a tutti.
Avrei bisogno di un aiuto.
Ho un'applicazione sviluppata in C# net4 in cui ho previsto una dichiarazione che esegue un controllo su una tabella di utenti abilitati e secondo l'area di appartenenza ed il livello abilitativo previsto (0, 1 e 2) per singolo utente visualizza o meno in una GridView colonne e righe.
Il mio approccio iniziale è stato un utente per ciascuna singola area, ma adesso mi accorgo che possono esistere utenti che invece coprono due/tre aree diverse.
Il problema è nella gestione delle grant per un utente che deve essere abilitato per due/tre aree diverse, ad esempio per un utente con questo profilo utente non ho problemi:
codice:
Utente = Pippo
Area = Est
Livello = 2
Invece per un utente con profilo:
codice:
Utente = Pluto
Area = Est
Livello = 2
Utente = Pluto
Area = Ovest
Livello = 2
La dichiarazione che esegue il controllo accesso su una tabella di utenti abilitati secondo l'area di appartenenza ed il livello abilitativo previsto (0, 1 e 2) prende in considerazione soltanto l'Area Ovest per l'utente Pluto, invece di abilitarlo sia per Area Est che Ovest.
Grazie.
codice:
protectedvoidAutenticazione()
{
using(OdbcConnection conn =
newOdbcConnection(ConfigurationManager.ConnectionStrings["cn"].ConnectionString))
{
sql =" SELECT * FROM ";
sql = sql +" tblAbilitazioni ";
sql = sql +" WHERE (Email = ? ";
sql = sql +" AND Livello IS NOT NULL); ";
using(OdbcCommand command =
newOdbcCommand(sql, conn))
{
try
{
command.Parameters.AddWithValue("param1",Server.UrlDecode(Request.Cookies["email"].Value));
command.Connection.Open();
using(OdbcDataReader reader = command.ExecuteReader())
{
while(reader.Read())
{
livello = reader["Livello"].ToString();
area = reader["Area"].ToString();
}
}
}
catch(Exception ex)
{
throw ex;
}
finally
{
command.Connection.Close();
}
}
}}