首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将会话变量与字符串C#进行比较

将会话变量与字符串C#进行比较
EN

Stack Overflow用户
提问于 2017-11-17 22:45:31
回答 1查看 865关注 0票数 0
代码语言:javascript
复制
string currentUser;
string currentPassword;
string getUserName;
string getPassword;

getUserName = Convert.ToString(Session["UserName"]);
getPassword = Convert.ToString(Session["Password"]);

currentUser = Convert.ToString(txtUserNameLogIn.Text);
currentPassword = Convert.ToString(txtPasswordLogin.Text);

if ((currentUser == getUserName ) && (currentPassword == getPassword)) {
    currentUser = Convert.ToString(Session["CurrentUser"]);
    currentPassword = Convert.ToString(Session["CurrentPassword"]);
    Response.Redirect("Home.aspx");
} else {
    lblResult.Text = "Invalid Password";

}

我有3页。第一个用于注册,它保存UserName和密码,所以一个会话,然后我有一个登录页面,应该采取的UserName和密码会话,并比较他们与当前用户在此页面上的输入。到目前为止,我没有得到任何回应。

编辑:我在前一个页面输入的用户名和密码被存储在一个名为" username“的会话变量中,用户被重定向到登录页面,我只是想将用户输入的内容与前一个页面中的会话变量进行比较,如果正确,则将该信息存储在新的会话变量中,并将用户重定向到主页。

EN

回答 1

Stack Overflow用户

发布于 2017-11-18 00:51:03

您可以在这里做几件事,假设这是一个测试项目,并且您知道Session不是存储明文凭证的正确位置。看看SimpleMembership,你会发现一种更简洁的方法。

除此之外,我还创建了两个扩展类。第一个负责字符串安全性,第二个负责会话。您可以更进一步,为键甚至SessionUser对象创建常量。就比较而言,我只是将这两个username+password组合在一起,所以逻辑很简短。

代码语言:javascript
复制
 public static class StringExtensions
{
    public static string Encrypt(this string plainText)
    {
        // Replace with your encryption impl
        return plainText;
    }

    public static string Decrypt(this string hiddenText)
    {
        // Replace with your decryption impl 
        return hiddenText;
    }
}

public static class SessionExtensions
{
    public static void Set<T>(this HttpSessionState sessionState, string key, T value)
    {
        sessionState[key] = value;
    }

    public static T Get<T>(this HttpSessionState sessionState, string key) where T : class
    {
        return (T)sessionState[key];
    }
}

public partial class _Default : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Session.Set("UserName", "something");
        Session.Set("Password", "something".Encrypt());

        var username = Session.Get<string>("UserName");
        var password = Session.Get<string>("Password").Decrypt();

        var savedUser = $"{username}{password}";
        var currentUser = $"somethingsomething";

        if (currentUser.Equals(savedUser, StringComparison.InvariantCultureIgnoreCase))
        {

        }
        else
        {

        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47353283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档