web.config
1<configuration>
2
3……
4
5<system.web>
6<database>
7<add key="strConn" value="server=107.120.65.99;database=DB;uid=DB;pwd=DB"></add>
8</database>
9</system.web>
10
11……
12
13</configuration>
Global.asax.cs
protected void Session_End(Object sender, EventArgs e)
{
Application.Lock();
Application.Remove(Session.SessionID.ToString());
Application["OL_UserCount"]=(int)Application["OL_UserCount"]-1;
Application.UnLock();
}
login.aspx
1<table class="logintable">
2<tr> <td class="tdcaption" colspan="2"><font class="fcaption">ログイン</font></td></tr>
3<tr> <td><font class="font100">ユーザーID:</font></td></tr>
4<td><asp:textbox cssclass="itxt" id="txtName" runat="server"></asp:textbox></td>
5<tr> <td><font class="font100">パスワード:</font></td>
6<td><asp:textbox cssclass="itxt" id="txtPwd" runat="server" textmode="Password"></asp:textbox></td></tr>
7<tr> <td><asp:button cssclass="ibutton" id="btnSubmit" runat="server" text="login"></asp:button></td>
8<td><input class="ibutton" name="btnReset" type="reset" value="reset"/></td></tr>
9</table>
login.aspx.cs
using System.Collections.Specialized;
using System.Data.SqlClient;
public void LoginBySQL()
{
string strConn=(String) ((NameValueCollection) Context.GetConfig("system.web/database"))["strConn"];
using (SqlConnection conn = new SqlConnection(strConn))
{
SqlCommand cmd = new SqlCommand("sp_IDPWD",conn);
cmd.CommandType=CommandType.StoredProcedure; //这里采用存储过程
cmd.Parameters.Add("@ID",SqlDbType.VarChar,20);
cmd.Parameters.Add("@PWD",SqlDbType.VarChar,20);
cmd.Parameters["@ID"].Value=txtName.Text;
cmd.Parameters["@PWD"].Value=txtPwd.Text;
conn.Open();
using (SqlDataReader dr = cmd.ExecuteReader())
{
if(dr.Read())
{
bool NotOL=true;
for(int i=0;i<Application.Count;i++)
{
if(Application[Application.GetKey(i).ToString()].ToString()==dr["UserID"].ToString())
NotOL=false;
}
if(NotOL)
{
Application[Session.SessionID.ToString()]=dr["UserID"].ToString();
Application["OL_UserCount"]=(int)Application["OL_UserCount"]+1;
Session["UserName"]=dr["UserName"].ToString();//Sessions
Response.Redirect("./main/main.aspx");
}
else
message.Text="已经登陆";
}
else
{
message.Text="密码错误";
}
}
}
}
存储过程
ALTER PROCEDURE dbo.sp_IDPWD
(
@id varchar(20),
@pwd varchar(20)
/@pwd datatype OUTPUT/
)
AS
SET NOCOUNT ON
select * from [DB].[DB].[Admin] where ( UserID=@id ) and ([Password]=@pwd)
RETURN