【发布时间】:2009-11-12 20:49:19
【问题描述】:
哪里是安全和角色授权最适合模型视图演示者设计模式的地方?
是否所有实现安全的页面都实现特定接口,例如IAuthorizedView,类似于
public interface IAuthorizedView : IView
{
IUser user;
void AuthorizationInitialized();
void AuthorizationInvoked();
}
然后在演示者级别内部处理
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();
}
}
这将是我的第一个想法,这会给我留下的唯一问题是,如果我们从仅基于 Web 的移动并添加任何类型的 API,需要在服务级别上进行授权,那么最终会导致大量重复访问检查还是完全可以接受两次验证并且应该预先设计?
【问题讨论】: