在asp.net mvc应用程序中,我想使用rest webservice返回与作为参数传递的会话ID相关联的用户名。
如何获取登录用户的sessionID?
我是否需要在登录方法中手动设置会话ID?
另外,如何使用会话ID获取用户信息?
任何帮助将不胜感激。谢谢!
帐户控制器中的登录方法:
[HttpPost]
public ActionResult LogIn(UserLoginView ULV, string returnUrl)
{
if (ModelState.IsValid)
{
UserManager UM = new UserManager();
string password = UM.GetUserPassword(ULV.EmailID);
if (string.IsNullOrEmpty(password))
ModelState.AddModelError("", "*The Email-ID or Password provided is incorrect");
else
{
if (ULV.Password.Equals(password))
{
FormsAuthentication.SetAuthCookie(ULV.EmailID, false);
if (Url.IsLocalUrl(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
else
{
ModelState.AddModelError("", "*The Password provided is incorrect");
}
}
}
return View();
}
用户控制器中的Web服务方法:
public class UserController : ApiController
{
[HttpGet]
public string UserInfo()
{
HttpSessionState sessionValue = HttpContext.Current.Session;
return sessionValue.SessionID.ToString();
}
}
答案 0 :(得分:5)
您使用的是哪个版本的.NET?使用.NET Framework 4.5.2我可以使用:string sessionID = HttpContext.Session.SessionID;
答案 1 :(得分:1)
link此链接中的第一个答案提供了获取会话ID的解决方案。