那么我们怎么实现这个功能呢,方法有很多,我只是说我用到的那种方法,因为我们登陆会用到session和cookies,所有我用的方法思路:
一、首先说明,当用户登陆时,我们会将用户的信息存储到session,至于为什么要存储到session,主要是为了做验证判断和取值方便,
二、写一个类存储用户的信息,判断session是否为空,不为空则取出对象,为空则提示用户重新登陆
三、在页面调用方法显示信息
下面是我做的一个小例子:
一、存储用户类的主要代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EMS.Common
{
using EMS.Entity;
using System.Web;
public class UserProcess
{
/// <summary>
/// 得到当前用户的对象
/// </summary>
/// <returns></returns>
public static UserInfoEntity GetUser()
{
//声明一个用户实体对象
UserInfoEntity entity;
//判断session里面的值是否为空
if (HttpContext.Current.Session[“uInfo”] != null)
{
//将session的对象转换成实体
entity = (UserInfoEntity)HttpContext.Current.Session[“uInfo”];
}
else
{
//跳转到登陆页面,提示用户重新登陆
HttpContext.Current.Response.Redirect("/Admin/Login.aspx");
}
//返回实体对象
return entity;
}
}
}
复制代码
二、在前台的页面我们只需要引入命名空间,然后通过类名调用静态的方法就可以得到用户的实体对象,再通过对象点属性的方式获得用户名。
这几步主要代码:
1 <%@ Import Namespace="EMS.Common" %>
2
3 欢迎【<%=UserProcess.GetUser().u_name %>】登录
复制代码注意:自己必须要写一个实体类,不然就不会有u_name,这个实体类字段最好是跟数据库对应的,还有欢迎登陆是要放在标签里面的,至于什么标签看你的需求!因为现在很多企业开发都会用到session,也许其它方法更简单,但主要是说明实际开发的用法。
如果还有什么问题可以留言,还有更好的方法也可以提出来!