想用服务器session来实现验证登陆状态的功能
业务逻辑代码如下
public User Login(string username,string pwd)
{
DAL.AboutUser au = new DAL.AboutUser();
User user = au.Login(username, pwd);
if (user != null)
{
HttpContext.Current.Session["CurrentUser"] = user;
return user;
}
else
{
return null;
}
}
控制器里面的代码是这样的
namespace ACMwebOnline.Controllers
{
public class UserController : Controller
{
//
// GET: /User/
public AboutUser hm = new AboutUser();
public ActionResult Index()
{
if (Session["CurrentUser"] != null)
{
var u = (User)Session["CurrentUser"];
ViewData.Model = u;
return View("UserInfo");
}
//登陆
var username = Request["username"];
var pwd = Request["pwd"];
User user = null;
if (username != null && pwd != null)
{
user = hm.Login(username, pwd);
if (user != null)
{
var u = (User)Session["CurrentUser"];
ViewData.Model = u;
return View("UserInfo");
}
return Content("no:用户名密码错误");
}
return View("Login");
}
}
}
现在的问题:
我的思路是在业务逻辑层登陆成功的时候在服务器中存储session,然后再次访问这个控制器的时候通过验证session是否为空来决定返回登陆页面还是登陆信息页面~
代码就是上面的,可是运行实际情况是出现了登陆页面,但是输完账号密码之后还是出现登陆页面~是不是session存储出现了问题~新手程序员,求前辈们指点