Rob*_*bin 2 authentication asp.net-mvc controller model
我刚刚开始草拟基于Web的系统的基础,我希望管理员可以通过Controller或Model来限制访问.我的问题是,我无法决定我应该选择哪一个(或两个?).有任何想法吗?优点缺点?
首先,我倾向于在控制器中执行此操作,因为他们"控制"系统的流程.但是,认为访问应该受到它访问的数据的限制,而不是系统的逻辑部分,我觉得我真的应该选择模型.
现在我无法决定..我已经来回晃动了几天而根本没有真正前进,所以现在我转向你,哦伟大的互联网,希望得到答案!
我的实现是在C#/ ASP.NET/MVC2中,但我仍在"理论上"工作,所以它不是真正的框架特定..
尽管可能存在例外情况,但访问控制应由控制器完成.
模型不应该包含任何过程功能,只是业务逻辑.业务逻辑本身不应该是访问控制的.
控制器包含与此业务逻辑和模型"交互"的操作,应该是访问控制的地方.某些框架已经提供了访问控制功能,可以评估应用程序的状态以决定是否执行某个操作可以执行.
示例:在Web应用程序中,模型"Person"包含"person",并且具有'createNew(name)'函数'Controller'PersonsController'具有动作'addNewPerson()',该函数从HTTP Post读取名称并调用上述函数以上.它还有一个访问规则,如果应用程序的当前状态指示请求操作的用户未登录,则可能无法调用操作"addNewPerson".