Où est l'endroit le plus approprié pour l'autorisation de sécurité et les rôles à tenir dans la vue du modèle modèle de conception du présentateur?autorisation de sécurité et les rôles avec vue modèle design pattern présentateur
Serait-il pour toutes les pages qui mettent en œuvre la sécurité pour mettre en œuvre une interface spécifique, disent IAuthorizedView
qui est le long des lignes de
public interface IAuthorizedView : IView
{
IUser user;
void AuthorizationInitialized();
void AuthorizationInvoked();
}
ensuite traitées à l'intérieur du niveau du présentateur
public abstract class Presenter<TView> where TView : IView
{
public TView View { get; set; }
public virtual void OnViewInitialized()
{
}
public virtual void OnViewLoaded()
{
}
}
public abstract class AuthorizationSecuredPresenter<TView>
: Presenter<TView> where TView : IAuthorizedView
{
public override void OnViewInitialized()
{
View.AuthorizationInitialized();
base.OnViewInitialized();
}
public override void OnViewLoaded()
{
View.AuthorizationInvoked();
base.OnViewLoaded();
}
}
Ce serait mon première idée là-dessus, la seule question que cela me laisse est de savoir si l'on passe de base web uniquement et ajouté tout type d'API qui doit être autorisée par le niveau de service qu'il y aurait finir par beaucoup de duplication de contrôle d'accès ou est-ce parfaitement acceptable de vérifier deux fois et devrait être conçu pour l'avant?