国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

Login控件:用戶登錄失敗的消息提示

2024-07-10 11:55:53
字體:
來源:轉載
供稿:網友

  ASP.NET 2.0提供了一套強大的身份驗證體系,并且伴隨一套登錄控件的推出,使得ASP.NET 2.0開發者在做用戶注冊-登錄驗證功能模塊時大大降低了開發費時。

  但是我們發現在使用Login登錄控件時我們只能使用它的FailureText 屬性獲取或設置當登錄嘗試失敗時顯示的文本,當登錄嘗試失敗時向用戶顯示的文本,默認為“您的登錄嘗試失敗,請重試。”

  但是在使用ASP.NET 2.0的Membership體系時可能產生登錄失敗的情況不僅僅是用戶名/密碼不正確而產生的,也能由于帳戶被鎖定了(MembershipUser.IsLockedOut=True)或是程序需要帳戶不能進行資ge驗證(比如注冊用戶需要審核才能正式開通,一般使用MembershipUser.IsApproved=False)又或者自己擴展了一些其他的附屬Profile驗證失敗……但是,使用Login登錄失敗時,默認卻只能顯示我們設置的FailureText的內容。當然,出于安全性的考慮MS并不推薦您把具體的登錄失敗的信息顯示給用戶,例如,像“用戶 <username> 的密碼無效”這樣的錯誤信息向潛在的攻擊者透漏了 <username> 是系統的用戶這一情況。

  不過,有時我們還是希望能在帳戶被鎖定時顯示“您的帳戶被鎖定”,在為審核時顯示“您的帳戶正在審核中……”,那么要怎么顯示給用戶呢?一種最簡單的辦法是在Login.LoginError 事件中做處理。

  比如:

protected void Login1_LoginError(object sender, EventArgs e)
{
Login l = (Login)sender;
MembershipUser u = Membership.GetUser(l.UserName);
if (!u.IsApproved)
{
    l.FailureText = "帳戶證在審核中";
    return;
}
if (u.IsLockedOut)
{
    l.FailureText = "您的帳戶已經被鎖定";
    return;
}
// 默認錯誤消息提示
l.FailureText = "您的登錄嘗試失敗,請重試。";
}

  當然,您可以通過重載等更高級的方法來實現這一功能。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昆明市| 咸宁市| 西乌珠穆沁旗| 姚安县| 西盟| 瑞昌市| 木里| 西乌珠穆沁旗| 眉山市| 西林县| 樟树市| 罗甸县| 吴旗县| 拉萨市| 沅江市| 舞阳县| 扎兰屯市| 江西省| 准格尔旗| 青龙| 青阳县| 河间市| 嘉鱼县| 张家界市| 阿拉尔市| 莆田市| 福清市| 铁岭市| 东海县| 阳原县| 黄大仙区| 牟定县| 博白县| 巴林左旗| 南溪县| 巩义市| 永济市| 宁海县| 偃师市| 巴林右旗| 视频|