WebSecurity.CurrentUserId = -1
本文关键字:CurrentUserId WebSecurity | 更新日期: 2023-09-27 18:07:12
我正在开发一个android应用程序,它应该登录/注册并从数据库中读取一些数据。
我有WebApi登录控制器。
这是我的问题
[HttpPost]
public HttpResponseMessage Post(Login model)
{
if (WebSecurity.Login(model.UserName, model.Password))
{
int userid = WebSecurity.CurrentUserId;// <- this value is = -1
string name = WebSecurity.CurrentUserName;// <- this value is = ""
some query where i need the user id(userid);
}
else
...
}
为什么成功登录后我仍然有-1作为一个值?
我注意到,即使在mvc项目发生同样的事情,但成功登录后,用户被重定向到另一个页面,其中列出的数据(当控制器执行当前用户id已经更新)。
WebSecurity。登录设置cookie。在用户被认证之前,框架必须重新读取该cookie,这意味着必须发生另一个web请求。
换句话说,您必须重定向到另一个页面,或者在请求被验证之前必须有另一个web请求进入。