我有一个使用 razor 的 ASP.net MVC 3 应用程序,当使用默认 AccountController 注销当前用户时,我发现了一个安全问题。单击注销(_LogoutPartial 视图)后,我被重定向到登录页面。很好,但是当我在浏览器上单击返回时,它允许我返回 Web 应用程序并且不要求我登录。
带参数的路由如下:
routes.MapRoute(
"Person", // Route name
"Person/{profileName}/{action}/{id}", // URL with parameters
new { controller = "Person", action = "Index", id = UrlParameter.Optional } // defaults
);
//example http://localhost:1946/Person/JoeBlack/ListTeamMembers
似乎 {profileName} 在会话中仍然处于活动状态(?)并允许调用控制器。但是控制器操作 {ListTeamMembers} 具有 [Authorize()] 属性,所以我不确定它是如何让用户进入的......