0
我爲我的課程項目創建了一個網站,但我很難創建登錄。我使用參數將數據插入數據庫。我在c#和我的數據庫在sql服務器。關於我使用asp.net和C#創建的登錄頁面
首先我創建登錄過程:
ALTER PROC [dbo].[uselogin]
@userNickName nvarchar(50),
@userPassword nchar(10)
As
SELECT [userId]
,[userFirstName]
,[userLastName]
,[userNickName]
,[userPassword]
,[userStreetAddress]
,[userEmail]
FROM [dbo].[User_T]
WHERE [email protected] AND [email protected]
然後在登錄頁面創建登錄文本框和登錄按鈕就像這樣:
<asp:Label ID="Label3" runat="server" Text="Username: "></asp:Label>
<asp:TextBox ID="txtuserName" runat="server" CssClass="form-control "></asp:TextBox>
<asp:Label ID="Label4" runat="server" Text="Password: "></asp:Label>
<asp:TextBox ID="txtPassword" runat="server" CssClass="form-control "></asp:TextBox>
<asp:Button ID="btnLogIn" runat="server" Text="Log In " onClick="button_login_Click" CssClass="btn btn-primary btn-block" />
aspx頁面背後的代碼
protected void button_login_Click(object sender, EventArgs e)
{
string userName = txtuserName.Text;
string userPassoword = txtPassword.Text;
User user = new User(userName, userPassoword);
cc.userLogin(user);
}
這裏是我的C#代碼和所有的課我用:
Class User{
string name;
string userName;
string usePass;
.........
.....
public User(string un, string pass)
{
this.UserNickName = un;
this. UserPass = pass;
}
// create getter and setter to each one.
public UserNickName
{
get{return userName; }
set{ userName = value;}
}
// the same for all my getter and setter.
} 這裏是被稱爲處理另一個類
public handler{ // has object from DBManager.cs
DBManager db;
public void userLogin(User u){ db.userLogin(u);}}
我的最後一節課是DBmanager
public DBManager{
// constructor has the database connection and my login method
public void userLogin(User user)
{
SqlCommand cmd = new SqlCommand("uselogin",_conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter p1 = new SqlParameter("userNickName", user.UserNickName);
SqlParameter p2 = new SqlParameter("userPassword", user.UserPassword);
cmd.Parameters.Add(p1);
cmd.Parameters.Add(p2);
_conn.Open();
SqlDataReader rd = cmd.ExecuteReader();
if (rd.HasRows)
{
rd.Read();
HttpContext.Current.Response.Redirect("PublishingAnEvent.aspx", true);
}
else
{
// Label5.Text = "do it agin";
HttpContext.Current.Response.Redirect("RegestrationPage.aspx", true);
}
}
I希望你給我答案我做了很多閱讀,但我找不到任何東西....感謝大家。
是什麼時候,你堅持登錄的結果嗎?我沒有看到表單身份驗證Cookie正在創建,也沒有看到任何值被分配的任何方面... –
我如何做表單身份驗證cookie(注意:沒有登錄級別只是登錄的示例)@BrettCaswell – Abdullah
north.star,(nice name btw).. FormAuthentication有一個默認的模塊加載到ASP.NET中,並指定ASP.NET處理IIS中的身份驗證。我看到的大多數實現都會覆蓋Global.asax中的OnAuthenticate ..然後他們創建一個cookie,並使用FormsAuthentication類來加密它。在每個「頁面」請求中,都有一個解密cookie的過程,用於分配用戶到'Request.User'。 –