【问题标题】:asp.net mvc migration , forms authentication issueasp.net mvc 迁移,表单身份验证问题
【发布时间】:2010-08-12 14:55:58
【问题描述】:

您好,我已将我的 asp.net Web 表单应用程序迁移到 asp.net mvc。即包含 .aspx 页面和 mvc 视图。我正在使用 Forms 身份验证,但在 asp.net mvc 视图中没有获得 Forms 身份验证状态。

即。在登录状态下,在asp.net表单页面中获取Request.IsAuthenticated true,在mvc视图中获取false。

【问题讨论】:

  • 你的登录系统是用 MVC 还是 webforms 完成的(即标准的 asp.net 登录控制)?

标签: asp.net asp.net-mvc


【解决方案1】:

如果您正在使用 ASP.NET 的 Membership Provider 身份验证和授权方法,则应该在 Web 窗体和 MVC 中开箱即用。您可以尝试调用 Membership.GetUser() 方法并调试以查看结果。如果您发布一些您调用 Request.IsAuthenticated 的地方的代码,它将解决问题。

关于 IsAuthenticated 方法的注意事项 - 如果用户在控制器中通过身份验证,并且您在视图中调用 Request.IsAuthenticated在同一请求中,它将返回 false。这是预期的行为,而不是错误。原因是身份验证 cookie 附加到响应中,但是对通常不会更改的请求进行检查。请记住这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多