0

我的代码中有以下代码:

 if (Membership.ValidateUser(username, password))
 {    
     bool status = System.Web.HttpContext.Current.User.Identity.IsAuthenticated;

我的用户名和密码验证正确,但状态始终为假。我如何实际登录用户以使状态为真?

4

2 回答 2

2

您需要先创建身份验证 cookie

if(Membership.ValidateUser(username,password))
{
     FormsAuthentication.SetAuthCookie(username,true); 
} //do it in login page

然后你可以检查用户是否经过身份验证,在你不知道之前,因为网站是无状态的

于 2013-11-04T19:10:55.920 回答
0

从MSDN 中的方法文档:

ValidateUser 提供了一种从数据源验证用户名和密码的简单方法

请注意,它实际上并没有登录您的用户,它只是告诉您用户名/密码对是否正确。要实际为您的用户创建身份验证 cookie,您需要使用SetAuthCookie

于 2013-11-04T19:13:37.527 回答