身份用户登录.net 4.5后

时间:2015-12-30 16:59:59

标签: c#

我需要一些帮助,我试图在用户登录后识别用户。除了where子句,我的代码工作正常。 你如何识别用户,我基本上试图说UserName == loginName给我的完整记录。 然后从记录中我可以拉出GarageID,任何帮助或指点非常赞赏。

+------------------------------+------------------------------+
|        original table name   |        cloned table name     |
+------------------------------+------------------------------+
| <prefix>_2015-11-17_<suffix> | <prefix>_2015-12-17_<suffix> |
| <prefix>_2015-11-18_<suffix> | <prefix>_2015-12-18_<suffix> |
| ...                          | ...                          |
| <prefix>_2015-11-30_<suffix> | <prefix>_2015-12-30_<suffix> |
+------------------------------+------------------------------+

1 个答案:

答案 0 :(得分:0)

所以我会这样做。我会创建一个名为Session的静态类。这只是封装了对我的会话变量的访问。

public static class Session
{
      public static string UserName
      {
           get { return (JsonWhereClause)HttpContext.Current.Session["UserName"]; }
           set { HttpContext.Current.Session["UserName"] = value; }
      }

}

然后当用户登录时,我会这样做。

 Session.UserName = ""//User inputed username

这样就可以使你的代码成为现实。

private void FindGarageID()
{
    string loginName = Session.UserName;

    using (tyrescannerdatabaseEntities dbcontext = new tyrescannerdatabaseEntities())
    {

        garage = (from r in dbcontext.AspNetUsers

                      where r.UserName == loginName

                      select r).FirstOrDefault();

        if (!garage.GarageID.Equals(null))
        {
            garageID = (int)garage.GarageID;
        }
        else
        {
            garageID = 1;
        }
   }

请注意,会话仅在网络服务器上可用,因此如果您有服务,则需要将用户名传递给服务。

相关问题