C'è qualcosa nei ruoli che non ottengo esattamente. utilizzando l'attributoAttributo di autorizzazione in ordine MVC, priorità e domanda di funzione
[Authorize]
Quando si ha l'attributo [Authorize]
sul controller e sull'azione:
- Quando un ruolo è in entrambi, questo ruolo avranno accesso
- Quando un ruolo è solo definito nel controller, ma non nell'azione, nessun accesso
- Quando un ruolo è definito solo nell'azione, ma non nel controller, nessun accesso
Ho capito, è logico. È necessario accedere al controller prima di poter eseguire un'azione.
Quello che non ottengo perché questo non funziona:
[Authorize(Roles = "Algemeen Beheer, Admin, Coordinator, Secretariaat")]
public class FacturatieGegevensController : Controller {
[Authorize(Users = "Stefan.coordinator", Roles = "Algemeen Beheer, Admin")]
public ActionResult Create(int instID) {
return View();
}
}
Quando sono entrato come utente Stefan.coordinator
che ha il ruolo coordinator
, ho posso accesso il controller, ma non posso accedere al Create Azione. Ho pensato che questa sarebbe una relazione OR tra Users
e Roles
. Non è? e come faccio a farlo funzionare?
Forse non sto seguendo la tua logica, perché il '((USER in {Stefan.coordinator})' viene eliminato? –
@Nathan - Ho inviato un chiarimento. Per favore fatemi sapere se questo risponde alla vostra domanda! – Levi
lì è un errore nella tua equazione. Sembra ((USER in {Stefan.coordinator}) ** AND ** (RUOLO in {Algemeen Beheer, Admin})) [dal metodo-livello] perché nessun altro utente può accedere al Azione quando ha questo tag utente – Stefanvds