ASP.NET - 接受使用条款

时间:2009-12-09 13:41:41

标签: asp.net-mvc

我正在编写ASP.NET MVC应用程序 当用户首次登录时,应用程序应显示一个页面以接受使用条款。
如果用户不接受这些条款,他将被重定向到登录页面。如果他接受条款,那么他可以继续使用我的应用程序 应用程序中我可以检查此条件以调用ReddirectToAction的最佳位置在哪里?

4 个答案:

答案 0 :(得分:1)

我会在User对象上存储'Accepted T& C'标志。

然后我会检索登录的用户信息,检查标志,并在Controller Action中正确地重定向。

答案 1 :(得分:0)

有很多样本应用程序,其中包含身份验证/授权示例。除非有更好的建议,否则我会看看他们如何处理对受限页面的访问(即,如果未经过身份验证,则重定向到登录,如果未经授权,则重定向到错误,否则显示页面)。然后,如果他们没有接受您的条款,您可以使用相同的技术进行重定向。

答案 2 :(得分:0)

如果你有一个所有其他控制器继承的“BaseController”类型类,则覆盖OnActionExecuting方法并在那里进行检查。

ETA - 显然,提供术语页面的控制器不会有这种行为,或者你最终会进入重定向循环,所以你需要有一个“BaseLoggedInController”或者所有控制器除了提出术语/登录页面的一个将继承自。

答案 3 :(得分:0)

实现AuthorizeAttribute,它检查在用户上设置的接受标志,并在适当时重定向。如果未设置,则将用户发送到使用条款页面。如果他否认,他将被重定向到“你应该接受页面”。

实现一个Controller基类,它是一个AuthorizeFilter。在OnAuthorization方法中实现检查。