我有一个 ASP.Net MVC 4 网站。当我开始这个网站时,我几乎没有网络编程经验,而且我认为我没有正确设置所有这些。
我有一些页面,例如主页、登录、注册,我认为它们是公共的,诸如 VerifyPIN 和 AccountCreated 之类的页面,我认为它们是内部的,以及诸如仪表板和个人资料之类的页面,它们是私有的。
我觉得公共页面应该由匿名用户访问,但是一旦用户登录,登录和注册不应该是可访问的。
内部页面我希望仅在服务器重定向时可用,并且从不通过浏览器,即我不希望用户能够输入 www.MySite.com/AccountCreated。
私人页面仅适用于登录用户。
我觉得我的私人页面运行良好,但我不知道如何限制对其他页面的访问,如上所述。也许我不允许登录用户访问登录页面的想法是未找到的。
由于网站的 ajax 特性,我的网站相对较小。我在所有公共页面上使用 [AllowAnonymous],但登录用户仍然可以访问这些页面,我不知道如何防止这种情况。
我的问题是,
如何阻止用户通过地址栏访问页面 (www.MySite.com/AccountCreated)
用户登录后,如何防止访问 [AllowAnonymous] 页面。
编辑
阻止已登录用户访问某些匿名页面(例如登录)是否正常?