【发布时间】:2017-08-16 06:38:39
【问题描述】:
在一个 asp.net mvc 应用程序中,我想使用一个 REST Web 服务来返回与作为参数传递的会话 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();
}
}
【问题讨论】:
-
是的。我刚刚确认解决方案here 将解决您的问题。很酷。
标签: c# asp.net asp.net-mvc session