登錄系統()
下面編寫後台事件處理頁面ST_Loginaspxcs本頁面是用戶驗證模塊的核心包含了用戶驗證的主要功能其主要代碼如程序所示
程序 ST_Loginaspxcs
protected void btnOK_Click(object sender SystemEventArgs e)
{
//判斷用戶是否登錄成功
STGROUPST_BookBizST_Auth st_auth = new
STGROUPST_BookBizST_Auth()
int userid=;
if(st_authST_Login(txtNameText txtPassText out userid))
{
string[] role = st_authST_LoginType(txtNameText)
ST_BookBizST_Identity identity = new
ST_BookBizST_Identity(txtNameTextTrim() userid)
ContextUser = new ST_BookBizST_Principal(identityrole)
//用戶身份名稱
identityName = txtNameText;
//用戶角色
identityRoles = role[];
identitySave()
FormsAuthenticationSetAuthCookie(txtNameText false)
ResponseRedirect(ST_Common/ST_Mainaspx)
}
else
{
ResponseWrite(<script language=
javascript>alert(登錄失敗)
</script>)
}
}
protected void btnReg_Click(object sender SystemEventArgs e)
{
ResponseRedirect(ST_User/ST_UserAddaspx?Action=add)
}
【代碼說明】代碼第~行主要是判斷用戶是否登錄成功如果成功轉到ST_Mainaspx;如果失敗則提示失敗信息登錄成功後代碼第行負責保存用戶的信息到Cookie中緩存的結果一般被放在Cache對象中
說明ContextUser表示獲取上下文的用戶
上面代碼中調用了ST_Login()方法此方法屬於ST_BookBiz類庫下的ST_Auth類其主要代碼及解釋如程序所示
程序 ST_Authcs
public bool ST_Login(string st_name string st_pass out int userid)
{
userid = ;
string sqlString = select st_userid from ST_Users where
st_name=+st_name+ and st_pass=+st_pass+;
object obj = SqlHelperExecuteScalar(
st_SqlStringCommandTypeTextsqlString)
if(obj!=null && objToString()!=)
{
userid = intParse(objToString())
return true;
}
else
return false;
}
【代碼說明】從代碼第行可以看出有一個輸出參數是userid關鍵字out表示這個參數是輸出參數默認在第行將此參數設置為;代碼第行構建查詢語句代碼第~行返回這個參數
返回目錄ASPNET項目開發指南
編輯推薦
ASPNET MVC 框架揭秘
ASPNET開發寶典
ASP NET開發培訓視頻教程
From:http://tw.wingwit.com/Article/program/net/201311/15851.html