C# 登录后跟踪用户信息的最佳方法?

C# 登录后跟踪用户信息的最佳方法?,c#,asp.net,C#,Asp.net,试图了解在我的用户经过身份验证后存储登录信息的最佳做法。最好使用页面级属性、会话或其他方法 理想情况下,这是我希望能够在登录时执行的,单击“我正在执行以下操作”,然后在每个页面上执行我希望能够执行的操作 如果userValid和isauhorised且Status=Admin 然后 否则我想404是最好的方法 对不起,我不允许使用ms内置系统 DBContext _db = new DBContext(); UserValidationResult userSt

试图了解在我的用户经过身份验证后存储登录信息的最佳做法。最好使用页面级属性、会话或其他方法

理想情况下,这是我希望能够在登录时执行的,单击“我正在执行以下操作”,然后在每个页面上执行我希望能够执行的操作

如果userValid和isauhorised且Status=Admin 然后 否则我想404是最好的方法

对不起,我不允许使用ms内置系统

       DBContext _db = new DBContext();


        UserValidationResult userStatus=_db.ValidateUser(txtUsername.Text, txtPassword.Text);
        Session["level"] = userStatus.userLevel.ToString();
        Session["username"] = userStatus.User.username;
        Session["logedin"] = true;


        if (userStatus.Status == Mercentwarehousecms.User.UserValidationResult.LStatus.InvalidPassword)
        {
            lblFailed.Text = "Invlaid Password";
        }

        if (userStatus.Status == Mercentwarehousecms.User.UserValidationResult.LStatus.UserDoesNotExist)
        {

            lblFailed.Text = "User Does Not Exist";
        }

        if (userStatus.Status == Mercentwarehousecms.User.UserValidationResult.LStatus.Sucess && userStatus.userLevel == Mercentwarehousecms.User.UserValidationResult.UserLevel.Administrator)
        {
            Response.Redirect("~/admin/users/default.aspx");


        }

        if (userStatus.userLevel == Mercentwarehousecms.User.UserValidationResult.UserLevel.StoreManager)
        {
            lblFailed.Text = "i AM store manager ";
        }
更改此项:

致:

然后,您可以稍后检索它:

        UserValidationResult userStatus = (UserValidationResult)Session["userStatus"];

我不知道你说的加密是什么意思。如果要保护用户密码不以明文形式通过网络传输,请使用SSL。

一种方法是使用表单身份验证@RickS不能使用内置密码这必须是自定义密码你真的不应该区分无效密码和用户不存在,至少现在不是UI@SteveCzetty它不适合ui mate只是我没问过ode我只是问什么是在页面级或其他会话中存储它的最佳方式,如果会话是如何使用Rijndael加密的,我认为应该足够强大,适合演示
       UserValidationResult userStatus=_db.ValidateUser(txtUsername.Text, txtPassword.Text);
       Session["userStatus"] = userStatus;
        UserValidationResult userStatus = (UserValidationResult)Session["userStatus"];