gpt4 book ai didi

c# - 使用 C# 连接现有 sql server 数据库的网站登录

转载 作者:太空宇宙 更新时间:2023-11-03 11:12:01 24 4
gpt4 key购买 nike

我是一个新手...

我试图在 VS2010 中登录我的网站,它通过 asp.net 连接到现有的 SQL Server 2008 Express 数据库,使用 C# 作为后台代码。

这是我的 login.aspx.cs 代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Net.Mail;
using System.Data.SqlClient;
using System.Web.Configuration;

public partial class Login : BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
}

protected void btnlogin_Click(object sender, EventArgs e)
{
int Results = 0;

if (txtUsername.Text != string.Empty && txtPassword.Text != string.Empty)
{

Results = Validate_Login(txtUsername.Text.Trim(), txtPassword.Text.Trim());

if (Results == 1)
{
lblMessage.Text = "Login is Good, Send user to another page or enable controls.";
}
else
{
lblMessage.Text = "Username or Password is incorrect.";
lblMessage.ForeColor = System.Drawing.Color.Red;
}
}
else
{
lblMessage.Text = "Please make sure that your username and password is correct.";
}
}

protected int Validate_Login(String Username, String Password)
{
SqlConnection con = new SqlConnection(@"Server=MARIOM-PC\SQLEXPRESS;Database=Logon");

SqlCommand cmdselect = new SqlCommand();

cmdselect.CommandType = System.Data.CommandType.StoredProcedure;

cmdselect.CommandText = "[dbo].[prcLoginv]";

cmdselect.Parameters.Add("@Username", System.Data.SqlDbType.VarChar, 50).Value = Username;
cmdselect.Parameters.Add("@Password", System.Data.SqlDbType.VarChar, 50).Value = Password;
cmdselect.Parameters.Add("@OutRes", System.Data.SqlDbType.Int, 4);
cmdselect.Parameters["@OutRes"].Direction = System.Data.ParameterDirection.Output;

cmdselect.Connection = con;

int Results = 0;

try
{
con.Open();

cmdselect.ExecuteNonQuery();

Results = (int)cmdselect.Parameters["@OutRes"].Value;
}
catch (SqlException ex)
{
lblMessage.Text = ex.Message;
}
finally
{
cmdselect.Dispose();

if (con != null)
{
con.Close();
}
}

return Results;
}
}

当我单击“登录”按钮时,它会将我带到我的 C# 代码,该代码应循环访问 btn_Login_Click,然后是 Validate_Login 方法。但是它没有用正确的信息正确更新我的登录页面。我总是收到“密码不正确”错误。

请帮忙!

最佳答案

我建议您使用 Windows 窗体身份验证

为sql server数据库设置forms认证

转到C:>>Windows>>Microsoft.Net>Framework>>你的版本示例我的v4.0>>aspnet_reqsql.exe

它是一个向导,可以为您的特定数据库设置表单例份验证方案。

然后在你的 web.config 中

<connectionStrings>
<add name="ConnectionStringName" connectionString="*********" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<roleManager enabled="true"/>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
<authentication mode="Forms">
<forms loginUrl="login.aspx"/>
</authentication>
<membership defaultProvider="SqlProvider">
<providers>
<clear/>
<add connectionStringName="ConnectionStringName" applicationName="/" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" passwordFormat="Hashed" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" name="SqlProvider" type="System.Web.Security.SqlMembershipProvider"/>
</providers>
</membership>
</system.web>

登录.aspx

只需将登录控件拖放到您的页面即可使用网站管理工具设置权限和用户并限制用户访问某些文件夹。

关于c# - 使用 C# 连接现有 sql server 数据库的网站登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13657737/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com