33 messaggi dal 17 maggio 2011
Ciao a tutti,

Avrei bisogno di un vs. consiglio e punto di vista.
Ho implementato identity con la gestione completa dei ruoli, percui ipotizionia "SuperAdmin", "Admin", "User".

Ho visto che è possibile definire ogni metodo del controller decorandolo con
[Authorize(Roles = "SuperAdmin")] ecc ecc.... Figata pazzesca.

Ma... mi sono stati richiesti una gestione dei ruoli più custom.

La mia idea iniziare era creare due model molto semplici dove andavo a descrivere le azioni permesse e poi associavo l'azione al ruolo.
Questo preclude che ad ogni metodo del mio controller devo recuperare l'utente, il ruolo, i permessi e vedere se tutto ok.

A me sembra di reinvetare sempre l'acqua calda.
Voi cosa ne dite, vi siete già trovato in questa situazione?

        public DbSet<Permission> Permissions { get; set; }
        public DbSet<RolePermission> RolePermissions { get; set; }
    public class Permission
    {
        public int Id { get; set; }

        [Required]
        [DisplayName("Azione")]
        public string Action { get; set; }

        [Required]
        [DisplayName("Descrizione")]
        public string Description { get; set; }
    }

    public class RolePermission
    {
        public int Id { get; set; }
        [Required]
        public IdentityRole Role;
        [Required]
        public Permission Permission;
    }

Modificato da fractals87 il 15 marzo 2019 15:18 -
333 messaggi dal 05 novembre 2012
Ciao,

per fare questo meglio utilizzare i claim...

Prova a guardare qui

/Ciao

Alessio
33 messaggi dal 17 maggio 2011
Grazie dell'aiuto.

Ho cercato a fondo e mi pare di capire che i claims associati ai role sono solo per CORE.
Invece i claims su asp.net mvc 5 sono solo legati allo user id (Lo suggerisce anche la struttura della tabella)
[Id]
,[UserId]
,[ClaimType]
,[ClaimValue]
[AspNetUserClaims]

Inoltre a codice ho disponibile addclaims solo su usermanager e non su rolemanager
var claim1 = new Claim("TEST", "Administrator");
var claim2 = new Claim("TEST2", "SuperUser");

UserManager.AddClaimAsync(adm.Id, claim1);

A questo punto presumo che debba crearmi io qualcosa di custom.

Corretto o sto fantasticando?
333 messaggi dal 05 novembre 2012
Ho cercato a fondo e mi pare di capire che i claims associati ai role sono solo per CORE.

Si, in asp identity .net framework non ci sono

A questo punto presumo che debba crearmi io qualcosa di custom.

Corretto o sto fantasticando?


Non avevo capito che stai utilizzando .net framework :(
Prova a guardare qui

/Ciao

Alessio

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.