C# 关于我使用asp.net和C创建的登录页面#
我为我的班级项目创建了一个网站,但我很难创建登录名。我使用参数将数据插入数据库。我正在用c#和我的sql server数据库做这件事 首先,我创建登录过程:C# 关于我使用asp.net和C创建的登录页面#,c#,asp.net,authentication,webforms,ado.net,C#,Asp.net,Authentication,Webforms,Ado.net,我为我的班级项目创建了一个网站,但我很难创建登录名。我使用参数将数据插入数据库。我正在用c#和我的sql server数据库做这件事 首先,我创建登录过程: ALTER PROC [dbo].[uselogin] @userNickName nvarchar(50), @userPassword nchar(10) As SELECT [userId] ,[userFirstName] ,[userLastName] ,[use
ALTER PROC [dbo].[uselogin]
@userNickName nvarchar(50),
@userPassword nchar(10)
As
SELECT [userId]
,[userFirstName]
,[userLastName]
,[userNickName]
,[userPassword]
,[userStreetAddress]
,[userEmail]
FROM [dbo].[User_T]
WHERE userNickName=@userNickName AND userPassword=@userPassword
然后在登录页面中创建登录文本框和登录按钮,如下所示:
如果不为您做家庭作业,我确实有以下见解:
IDisposable
的任何对象上使用using
块(请参见下面显示的示例)。这有助于轻松、正确地处理它们SqlConnection
对象,并处理所有错误rd.Read()
行,因为它似乎没有什么作用李>
例如:
public DBManager
{
public void userLogin(User user)
{
using (SqlConnection _conn = GetConnection())
{
using (SqlCommand cmd = new SqlCommand("dbo.uselogin",_conn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@userNickName", user.UserNickName);
cmd.Parameters.AddWithValue("@userPassword", user.UserPassword);
using (SqlDataReader rd = cmd.ExecuteReader())
{
if (rd.HasRows)
{
HttpContext.Current.Response.Redirect("PublishingAnEvent.aspx", true);
}
else
{
//. Label5.Text = "do it again";
HttpContext.Current.Response.Redirect("RegistrationPage.aspx", true);
}
}
}
}
}
}
您要坚持登录结果的哪一点?我看不到表单验证cookie正在生成,也看不到在任何方面分配了任何值…我如何生成表单验证cookie(注意:没有登录级别,只是登录的一个示例)@brettcaswellnoth.star,(顺便说一句,很好的名称)。。FormAuthentication在ASP.NET中加载了一个默认模块,并指定ASP.NET在IIS中处理身份验证。我见过的大多数实现都在Global.asax中覆盖了OnAuthenticate。。然后,他们创建一个cookie,并使用FormsAuthentication类对其进行加密。。在每个
页面
请求上,都有一个过程,该过程会在将用户分配给请求时解密cookie。用户
。从sauthentication.SetAuthCookie查看,页面实现中有..实际上,只需查看FormAuthentication
类请注意,使用ADO.NET的方法是确定用户/通行证凭据是否有效(正确),然后使用FormAuthentication
将其持久化。。在页面示例中,它使用成员资格提供程序
(另一个模块),您可能希望也可能不希望继承和覆盖该模块来执行验证。。。