1
ログインに成功した後、私は返信したいオブジェクトと共に応答ヘッダーにsession_id
を返します。web api2のヘッダーにセッション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
を返すにはどうすればよいですか?