【发布时间】:2017-06-10 06:55:33
【问题描述】:
成功登录后,我想在响应标头中返回session_id,以及我想返回的一些对象。
我的典型响应头如下。
Response
Header: Set-cookie: session_id=121212-343dsfsd-4323132, path=/, expires: 1212
Body: {
“status”: 0,
“data”: {
“userRole”: “SUPER_ADMIN”
}
}
我正在尝试如下实现上述目标。
bool result = //...validate username and password with database
if(result == true)
{
SessionIDManager manager = new SessionIDManager();
string newSessionId= manager.CreateSessionID(HttpContext.Current);
var resp = new HttpResponseMessage();
var cookie = new CookieHeaderValue("session-id",newSessionId);
cookie.Expires = DateTimeOffset.Now.AddDays(1);
cookie.Domain = Request.RequestUri.Host;
cookie.Path = "/";
resp.Headers.AddCookies(new CookieHeaderValue[] { cookie });
//return resp;
obj.UserRole = (from c in entityObject.NCT_UserRegistration where obj.User_Name == c.User_Name && obj.User_Password == c.User_Password select c.User_Role).FirstOrDefault();
obj.Success = 0;
obj.User_Password="";
return Ok(obj);
}
我不确定我遵循的方式是否正确。我怎样才能像上面一样返回sessionid?
【问题讨论】:
标签: c# session cookies asp.net-mvc-5 asp.net-web-api2