Login控件:用户登录失败的消息提示

控件

  ASP.NET 2.0提供了一套强大的身份验证体系,并且伴随一套登录控件的推出,使得ASP.NET 2.0开发者在做用户注册-登录验证功能模块时大大降低了开发费时。

  但是我们发现在使用Login登录控件时我们只能使用它的FailureText 属性获取或设置当登录尝试失败时显示的文本,当登录尝试失败时向用户显示的文本,默认为“您的登录尝试失败,请重试。”

  但是在使用ASP.NET 2.0的Membership体系时可能产生登录失败的情况不仅仅是用户名/密码不正确而产生的,也能由于帐户被锁定了(MembershipUser.IsLockedOut=True)或是程序需要帐户不能进行资格验证(比如注册用户需要审核才能正式开通,一般使用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 = "您的登录尝试失败,请重试。";
}

  当然,您可以通过重载等更高级的方法来实现这一功能。

时间: 2024-09-12 02:20:00

Login控件:用户登录失败的消息提示的相关文章

用户控件用户登录判断

使用用户控件wheLogined.ascx,代码如下:namespace HEZjs.WebForm.modules.ascx{ using System; using System.Data; using System.Drawing; using System.Web; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; /// <summary> /// modWheLogined 的摘要说明. /// &

Login控件在UpdatePanel内当验证用户信息成功后出现页面刷新的解决办法

解决|控件|刷新|页面     随着AJAX.NET BETA 2在今天发布,让我们看到了AJAX与ASP.NET2.0紧密结合的快捷与高效,我们甚至可以无需写一句JS代码即可让ASP.NET的网页得到以往要花上数小时编写的JS代码所实现的无刷新效果.而将这一切结合到ASP.NET也是那么的容易,只需将控件简单地移到UPDATEPANEL控件之内再设置几个参数即可实现.但是,在体验AJAX.NET带给开发者便利的同时,也会发现AJAX.NET有时也并不是十全十美.就像笔者近日遇到ASP.NET2

ASP.NET关于Login控件使用,LoginView&amp;#160;控件,CreateUserWizard&amp;#160;控件

原文:ASP.NET关于Login控件使用,LoginView 控件,CreateUserWizard 控件 Login控件它是属于Membership服务的一部分,必须配置Membership提供程序和数据库... 如果你要使用自己的数据库则必须继承MembershipProvider抽象类重写自己的提供程序并正确配置Web.config...   ASP.NET登陆控件比较多,封装了大部分WEB应用中要实现系统登陆的系列功能,涉及到很多方面.众多 ASP.NET 登录控件一起为 ASP.NE

asp.net用户身份验证时读不到用户信息的问题 您的登录尝试不成功。请重试。 Login控件

原文:asp.net用户身份验证时读不到用户信息的问题 您的登录尝试不成功.请重试. Login控件 现象1.asp.net使用自定义sql server身份验证数据库,在A机器新增用户A,可以登录成功.把程序复制到B机器上,B机器读不到A用户信息,也无法使用A用户登录.B机器上新增的用户在A机器上也读不到. 现象2.在vs2005环境下运行程序,A用户登录成功,换在IIS下浏览,A用户登录失败. 原因在于web.config中自定义的身份验证提供者中缺少了applicationname的设置

Asp.Net2.0下C#环境 Login控件实现用户登录

原文:Asp.Net2.0下C#环境 Login控件实现用户登录一.前台显示效果 二.前台代码             <asp:Login ID="Login1" runat="server" BackColor="#F7F7DE" BorderColor="#CCCC99" BorderStyle="Solid"                BorderWidth="1px"

login控件“您的登录尝试不成功。请重试”的解决方法

原文:login控件"您的登录尝试不成功.请重试"的解决方法     遇到login控件"您的登录尝试不成功.请重试"报错之后,在网上找了很久,也按照如下帖子设置了 applicationName="/",但是把网站发布了之后,登录依旧出现"您的登录尝试不成功.请重试"的错误.   现象1.asp.net使用自定义sql server身份验证数据库,在A机器新增用户A,可以登录成功.把程序复制到B机器上,B机器读不到A用户信息

login控件登录的异常问题,阵发性不正常,疑似与cookies有关

问题描述 login控件登录后,不提示失败,登录成功并跳转到其他页面,此时loginname控件不能正常显示登录名.这种问题是一阵一阵的不正常,大多数时候是正常的.不正常的时候,怎么登录都不正常,过一段时间,把页面刷新一下就正常了,此时loginname控件可以正常显示登录名.另外的一个问题就是,页面有个checkbox,checkd状态会保存到cookies,经常勾上后,然后页面刷新后会变成不勾. 解决方案 解决方案二:搜索到类似的问题:http://bbs.csdn.net/topics/3

Login用户登录失败!我是新手,希望大家帮忙啊。

问题描述 我是.net新手,想使用内置用户管理功能,使用CreateUserWizard控件创建用户成功(数据库中有相应记录),但使用Login控件登录时,在用户名和密码完全正确情况下,总提示您的登录尝试不成功,自己测试了一下,发现用户并未被锁定,不明白是什么原因.各位高手帮忙指点迷津,不甚感激!

使用VS2013的ASP.net的login控件进行测试登录时报错如下:

问题描述 在网上搜索过相关的信息,数据库的配置管理也查看过没有问题,也去更改过machine.config文件的localsqlserver连接字串,关于外服务器的配置也没问题,数据库的本地.远程登录也没问题每次修改后都重启过服务器引擎,数据库没有什么问题,然而login控件运行总是报上面的错,本人属于菜鸟学习asp.net遇到这个问题现在找不到原因真的很无奈,,,求大神指点!!!! 解决方案 解决方案二:数据库连接字符串不正确.解决方案三:我用的是asp.net的自带的登录控件login这个控