我正在开发一个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已经被更新)。
发布于 2014-06-05 22:59:42
WebSecurity.Login设置了一个cookie。在对用户进行身份验证之前,该cookie必须由框架重新读取,这意味着必须发生另一个web请求。
换句话说,您必须重定向到另一个页面,或者在对请求进行身份验证之前必须传入另一个web请求。
https://stackoverflow.com/questions/24068329
复制相似问题