asp.net mvc迁移,表单身份验证问题

时间:2010-08-12 14:55:59

标签: asp.net asp.net-mvc

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

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

1 个答案:

答案 0 :(得分:1)

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

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