Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407

    [C# net4] Gestione grant per utente con doppio profilo

    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();
                    }
                }
            }}
    Ultima modifica di ubbicom; 19-08-2014 a 11:06

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    hai fatto a mano cio' che gia' esiste nel Framework: http://msdn.microsoft.com/en-us/libr...v=vs.100).aspx

    Tutto il mondo dei Role Providers fà cio' che stai tentando di fare in altro modo

  3. #3

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.