Привет всем, я пытаюсь обмениваться значениями объектов с помощью Sessions на разных контроллерах, я в некотором роде потерян, потому что способ обработки аутентификации на моем веб-сайте не описан ни в одной статье, ни в руководстве, к которому я могу обратиться, чтобы следовать вверх "с практическими рекомендациями"
В любом случае у меня есть BaseController, который используется совместно с другими контроллерами, который имеет "BaseController.verifyAccess (string user, string password)", что он делает, он идет и регистрируется моя БД, если у пользователя есть доступ к View
BaseController.cs
public class User
{
public int ID { get; set; }
public string username { get; set; }
public string password { get; set; }
public string email { get; set; }
}
AccountController.cs
[HttpPost]
public ActionResult Login(FormCollection form)
{
User userTest = new User();
userTest.username = form["username"];
userTest.password = form["password"];
Session["username"] = userTest.username;
if (verifyAccess(userTest.username, userTest.password))
{
return RedirectToAction("../LoggedIn");
}
else
{
return RedirectToAction("../Login");
}
}
Как мне заставить Session["username"] = userTest.username;
работать на других контроллерах ??
Например
SomeController.cs
[HttpPost]
public ActionResult MyAwesomeView(FormCollection form)
{
Project.Models.MyAwesomeModel thisModel = new Models.MyAwesomeModel();
thisModel._info1 = form["txtInfo1"];
thisModel._info2 = form["txtInfo2"];
thisModel._info3 = form["txtInfo3"];
thisModel._info4 = form["txtInfo4"];
thisModel._user = System.Web.HttpContext.Current.Session["username"].ToString();
return View(modelPagosRecibidos);
}
во время отладки thisModel._user
- ноль, плюс я думаю, что я делаю это сильно неправильно, я прошу прощения, если кто-то вздохнет на мой код, в любом случае надеюсь получить некоторую помощь и руководство о том, как передать значения Session через мои контроллеры, заранее всем спасибо!