Мне нужно получить доступ к UserId из всех моих приложений asp.net mvc, чтобы использовать его для скрытия / отображения некоторых элементов:
UserId первичный ключ в пользовательских таблицах (на сервере SQL).
в обычном asp.net я использовал BasePage: Page и добавил:
public long FinKaynUserId
{
//long FinKaynUserId = 0;
get
{
if (HttpContext.Current.Session["FinKaynUserId"] != null && Convert.ToInt64(HttpContext.Current.Session["FinKaynUserId"]) != 0)
return Convert.ToInt64(HttpContext.Current.Session["FinKaynUserId"]);
else
{
HttpCookie myCookie = HttpContext.Current.Request.Cookies["FinKaynUserId"];
if (myCookie != null)
{
HttpContext.Current.Session["FinKaynUserId"] = Convert.ToInt64(myCookie.Value);
// Session["User"] = (new UserManager()).GetUser(Convert.ToInt64(Session["UserId"]));
return Convert.ToInt64(HttpContext.Current.Session["FinKaynUserId"]);
}
else
return 0;
}
}
set
{
HttpCookie cookie = new HttpCookie("FinKaynUserId");
cookie.Value = value.ToString();
cookie.Secure = false;
cookie.Expires = DateTime.Now.AddDays(3);
HttpContext.Current.Request.Cookies.Add(cookie);
HttpContext.Current.Session["FinKaynUserId"] = value;
}
}
Как мне сделать то же самое в asp.net mvc.