如何使用Visual Studio在登录页面中验证简单的用户名和密码

时间:2016-09-09 08:46:01

标签: visual-studio visual-studio-2015

我正在开办一所学校/单一项目,并且正在努力:

1)创建一个名为“bruker”的类(挪威语为“user”),其中包含一个简单的用户名和密码。该类的代码存储在“App-Code - > Bruker.cs”中。

2)创建一个简单的登录页面,检查此用户名和密码(现在我只是使用密码而不是用户名进行测试)。登录页面的文件名为InnUtlogging.aspx。

问题是我无法获取我的if-else语句(我用来验证密码)来检查密码变量(我试图通过尝试创建一个“对象”来创建关于我还试图制作的“bruker /用户类”。

相关代码如下:

来自App_Code - > Bruker.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Summary description for Bruker
/// </summary>
public class Bruker
{
    public String Brukernavn;
    public String Passord;



    public Bruker() //The "constructor"
    {
        Brukernavn = "brukernavn";
        Passord = "passord";


    }
}

来自InnUtlogging.aspx.cs:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class InnUtlogging : System.Web.UI.Page
{
    Bruker bruker1 = new Bruker();

    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void ButtonLogin_Click(object sender, EventArgs e)
    {
        if (lblPassord.Text == Passord.Text)
        {
            Response.Redirect("http://localhost:64927/KunstnerAdmin.aspx");
        }
        else
        {
            lblStatus.Text = "Innlogging feilet.";
        }
    }
}

我的尝试的zip文件可以在这里找到:https://drive.google.com/file/d/0B6L5wBJr-eDseDhLQXNOZnFTb28/view?usp=sharing

感谢。

耶尔

1 个答案:

答案 0 :(得分:0)

事实证明我正在使用&#34;标签&#34;与(我打算成为)密码变量进行比较。我应该使用&#34;文本框&#34;而不是&#34;标签&#34;。

我真的不确定密码变量是否像我预期的那样有效,因为我发现了另一种方法,它似乎对我来说很好。我现在使用的方法在&#34; Chp 19:Security Fundamentals&#34;在书#34;开始.ASP 4.5 in C#&#34;由Matthew MacDonald撰写(标题为#34; Forms身份验证&#34;以及&#34;登录页面&#34;)。它涉及使用内置类,而不是尝试创建一个新的类和对象来存储用户名和密码。

以下是InnUtlogging.aspx.cs中使用新方法的相关代码:

public partial class InnUtlogging : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void ButtonLogin_Click(object sender, EventArgs e)
    {
        if ( textNavn.Text == "brukernavn" && textPassord.Text == "passord")
        {
            FormsAuthentication.RedirectFromLoginPage(
                textNavn.Text, false);
        }
        else
        {
            lblStatus.Text = "Innlogging feilet."; //means "login failed".
        }
    }
}

我还必须更改Web.config文件。这里有相关的摘录:

  <system.web>
      <compilation debug="true" targetFramework="4.5.2" />
      <httpRuntime targetFramework="4.5.2" />
      <authentication mode="Forms">
        <forms name="KunstCookie"
               loginUrl="InnUtlogging.aspx"
               defaultUrl="SalgsOversiktAdmin.aspx"
               protection="All"
               timeout="30" path="/" />
      </authentication>

      <authorization>
        <deny users="?" />
        <allow users="*" />
      </authorization>
    </system.web>