我在MVC中重写一个相当小的面向内部的应用程序,并试图找出在应用程序中保留用户数据的最佳方法。在Startup类中,我将用户名从httpcontext中拉出,然后根据我们的SQL数据库进行检查,然后返回填充的用户对象。由于我从头开始从头开始,我想实现一个可靠的,但不是非常复杂的解决方案,能够在应用程序周围传递该对象。到目前为止,我的研究只是将它放在一个会话或tempData中,这看起来有点像hacky,实现ASP身份似乎有点多。关于某些有效但仍有些合法的建议?
答案 0 :(得分:1)
使用Session没什么问题......那就是它的用途。但是,我会实现一个帮助程序类来为你处理它并将其抽象出来,因为我个人不喜欢直接调用会话对象,这会让我的代码变得容易,如果你想在以后的某个地方将它迁移到其他地方它会很容易日期。如下所示:
public static class UserHelper
{
public static void SetUser(User user)
{
HttpContext.Current.Session["user"]= user;
}
public static User GetCurrentUser()
{
return (User)HttpContext.Current.Session["user"];
}
}