Não tem muita dificuldade vou te mandar um exemplo, tenho uma página de login que serve apenas para autenticar o usuário ou seja ver se usuário e senha tem no banco ai estando correto mando para a página default.aspx nela eu crio as session eu uso linq
protected void Page_Load(object sender, EventArgs e)
{
if (Request.IsAuthenticated)
{
//'string nome = Session["NomeUsuario"].ToString() ;
Tb_Web_Usuario user = db.Tb_Web_Usuario.FirstOrDefault(u => u.Nmusua == HttpContext.Current.User.Identity.Name );
if (user != null)
{
if (!Page.IsPostBack && vcod == 0)
{
var result = from be in db.Tb_Base_Empresa where (user.Cdempr == be.cdempr) select be;
var result1 = from g in db.Tb_Web_Grupo where (user.Cdgrup == g.cdgrup) select g;
var empresa = result.FirstOrDefault();
var codemp = user.Tb_Base_Empresa.cdempr;
var nomeusu = user.Dslogi;
var codusu = user.Idusua;
var emailusu = user.Email1;
var grupousu = result1.FirstOrDefault();
var grupo = grupousu.cdgrup;
Session["Empresa"] = empresa.nmabre;
Session["TipoEmpresa"] = empresa.tpempr;
Session["CodEmpresa"] = codemp;
Session["NomeUsuario"] = nomeusu;
Session["Codusu"] = codusu;
Session["email"] = emailusu;
e nas páginas faço esse teste no load de cada página
protected void Page_Load(object sender, EventArgs e)
{
if (String.IsNullOrEmpty(Session["CodEmpresa"].ToString()))
{
string mensagem = "Usuário não identificado ou sessão expirada. Por favor, identifique-se no sistema";
string url = "../../Account/Login.aspx";
ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "alert('" + mensagem + "'); location='" + url + "';", true);
return;
}
}
Junior