身份验证+保持会话用户ASP.NET

时间:2013-05-01 22:13:44

标签: asp.net asp.net-mvc

我正在使用ASP.NET MVC4的项目,我必须登录并保留当前用户信息,如id,他的名字等,以便在其他页面中使用它们

    [HttpPost]
    public ActionResult Auth(string login, string password)
    {
        // Customer c = null;
        Customer cus = (from e in db.Customers where e.Login == login && e.Password == password select e).SingleOrDefault();
        if (cus != null)
        {


            //String s = User.Identity.Name;
            return RedirectToAction("Index");
        }
        else return RedirectToAction("Error");
    }

我想我只需要会话代码,所以请任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

在MVC4中,您可以使用knockoutjs和breeze,您可以以上下文的形式将值从一个视图传递到另一个视图,并可以在视图激活时检索该值。

请查看此link以获取微风

答案 1 :(得分:0)

我想你可以这样做:

    Customer cus = (from e in db.Customers where e.Login == login && e.Password == password select e).SingleOrDefault();
    if (cus != null)
    {
        // the boolean is for creating a persistent cookie
        // also after this point User.Identity.Name should be == login
        FormsAuthentication.SetAuthCookie(login, true);

        // store more info in session and access it in other places
        Session["Customer"] = cus;

        //String s = User.Identity.Name;
        return RedirectToAction("Index");
    }

也就是说,上次检查ASP.NET会话劫持时,将敏感用户信息存储在Session中并不是一个好主意。只存储您需要的东西。希望这会有所帮助。