2

这是我们第一次使用这种模式(我们甚至不确定这种模式是否适合这个项目),我和我的小伙伴有几个问题。我们正在设计一个简单的应用程序来显示有关权限的文件。

  1. 假设“Joe”当前登录到系统,将“Joe”保存为活动用户的正确位置在哪里?
  2. 在这种情况下,控制器的作用是什么?假设“Joe”想要登录系统。他输入他的密码并单击登录,视图是否应该直接使用模型验证详细信息?还是应该要求控制器为他做这件事?

  3. 假设登录成功,现在应该发生什么?视图是否应该作为观察者来监听模型并等待登录正确的响应然后切换窗口?或者控制器应该有一个被调用的方法boolean ValidateLogin(),视图调用并相应地采取行动?

如您所见,我们非常困惑,我们将不胜感激。

4

3 回答 3

3
  1. 会话/数据库/配置文件(这是单用户系统还是多用户系统?)
  2. 在某些 Web 框架中*:视图将登录数据传递给控制器​​,传递给模型进行验证,将结果返回给控制器,并给出正确的视图作为响应。当然,如果视图想要直接验证模型的数据也很好,但是 IMO 视图模型通信不应该涉及任何逻辑,只有数据更新通知。
  3. 我认为它在上面的答案 2 中得到了部分回答。控制器应该能够销毁/更改登录视图(当登录成功时,通常视图应该相应地更改)。

*这是因为在 Web 应用程序中,通常视图不能直接与模型对话,而在桌面应用程序中则相反。这仍然是一个 MVC,只是一种称为 MVA 的变体。

于 2012-06-02T15:43:07.807 回答
0
  1. Store it in session
  2. Any client side validation can be done by the view directly with the model(Through DataAnnotations). And for database calls it goes through the contoller
  3. On successful login, controller will render the corresponding view
于 2013-03-04T05:38:15.583 回答
0

对于您的要求,我建议您使用此项目MembershipStarterKit开始。

它具有执行基本身份验证和角色管理的示例。

它还使用 .Net 会员提供程序,这样您就不会重新发明轮子。

于 2012-06-02T15:38:17.193 回答