protected void btnLogin_Click(object sender, EventArgs e)
{
string username = txtUserName.Value.Trim();
string userpassword = txtUserPassword.Value.Trim(); if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(userpassword))
{
Common.MessageBox.Show(this, "账号和密码不能为空!");
}
else
{
string ip = Request.UserHostAddress;
BLL.ProxyInfo bllMember = new ProxyInfo();
string encrytpswd = DimoNetwork.Common.DEncrypt.TextEncrypt.MD5EncryptPassword(userpassword);
int reuslt;
Model.UserInfo userInfo= bllMember.ProxyLogin(username, encrytpswd, ip, out reuslt);
if (mProxyInfo != null)
{
//判断用户是否被冻结
if (userInfo.freezeState)
{
Common.MessageBox.Show(this, "您的账号已被冻结,请联系你的上级代理!");
}
else
{
Common.Cache.DimoCache.Default.Save<Common.Cache.SessionCache>("MemberSession", userInfo);
Common.MessageBox.ShowAndRedirects(this.Page, "", "main.aspx");
}
}
else
{
AddLoginErrorCount();
if (GetLoginErrorCount() >= )
{
Common.MessageBox.Show(this, "账号或密码错误次数过多,账号被锁定20分钟,请20分钟后重试!");
txtUserName.Value = "";
txtUserPassword.Value = "";
btnLogin.Visible = false;
}
else
{
Common.MessageBox.Show(this, "账号或密码错误!");
}
}
}
}
        /// <summary>
/// 获得登陆错误次数
/// </summary>
/// <returns></returns>
protected int GetLoginErrorCount()
{
int logincount = ;
object logincountcache = Common.Cache.Default.Get<Common.Cache.SessionCache>(lockcachekey);
if (logincountcache != null)
{
logincount = Convert.ToInt32(logincountcache);
}
return logincount;
}
  /// <summary>
/// 修改用户登录错误次数
/// </summary>
protected void AddLoginErrorCount()
{
object logincountcache = Common.Cache.DimoCache.Default.Get<Common.Cache.SessionCache>(lockcachekey);
if (logincountcache != null)
{
int logincount = Convert.ToInt32(logincountcache);
Common.Cache.Default.Save<Common.Cache.SessionCache>(lockcachekey,logincount + );
}
}

ASP.NET登录验证的更多相关文章

  1. C# asp.net 抓取需要登录的网页内容 抓取asp.net登录验证的网站

    private void btnASPNET_Click(object sender, EventArgs e)        {            Dictionary<string, s ...

  2. asp.net登录验证FormsAuthenticationTicket和FormsAuthentication类

    登录部分使用的类 FormsAuthentication   为 Web 应用程序管理 Forms 身份验证服务. 配置启用身份验证,WEB.config配置: <system.web> ...

  3. ASP.NET 登录验证 ihttpmoudle

    问题: 1.iis版本不同(IIS7.0,应用程序池采用的是集成模式,换成经典模式才起作用.) 在 IIS 7 以下的版本中,应用以下配置: <system.web> <httpMo ...

  4. asp.net登录状态验证

    文章:ASP.NET 登录验证 文章:ASP.NET MVC下判断用户登录和授权状态方法 文章:.net学习笔记---HttpHandle与HttpModule 第一篇文章,介绍了 1)早期的Base ...

  5. Asp.NetMVC利用LigerUI搭建一个简单的后台管理详解(函登录验证)

    上一篇 Asp.Net 中Grid详解两种方法使用LigerUI加载数据库数据填充数据分页  了解了LigerUI 中Grid的基本用法  现在结合上一篇的内容做一个简单的后台管理,当然也有前台的页面 ...

  6. ASP.NET MVC5入门3之登录验证

    参考: HTML页面模版: http://www.ui.cn/detail/70262.html(第38个) MVC后台代码参考: http://www.oschina.net/p/nfine 开发环 ...

  7. ASP.NET MVC 登录验证

     好久没写随笔了,这段时间没 什么事情,领导 一直没安排任务,索性 一直在研究代码,说实在的,这个登录都 搞得我云里雾里的,所以这次我可能也讲得不是 特别清楚,但是 我尽力把我知道的讲出来,顺便也对自 ...

  8. ASP.NET MVC4 Forms 登录验证

    Web.config配置: 在<system.web>节下: <authentication mode="Forms"> <forms loginUr ...

  9. ASP.NET MVC3 实现用户登录验证

    自定义一个授权筛选器类,继承于AuthorizeAttribute: using System; using System.Web; using System.Web.Mvc; namespace M ...

随机推荐

  1. noip第29课资料

  2. 解压->静态库.a文件

    1. cd /Volumes/HHD/PQS/apple/Public 2. file com_PQS.a com_PQS.a: Mach-O universal binary with 5 arch ...

  3. 安装Kali的小问题

    安装时候的问题 1.安装时程序步骤不正确 在安装kali时,参照视频教程(https://www.mosoteach.cn/web/index.php?c=res&m=index&cl ...

  4. Android逆向之smali学习

    Smali是Android虚拟机Dalvik反汇编的结果. Dalvik指令集 指令格式为:[op]-[type](可选)/[位宽,默认4位] [目标寄存器],[源寄存器](可选) 赋值:move*  ...

  5. Python 递归 Resursion()

    条件: ①递归有最小值或有确定值 ②fun(x) = ax * bfun(x-1) 类似规则 eg.   n! : ①1! = 1 ②n! = n* (n-1)! def factorial (n): ...

  6. docker zabbix

    1.zabbix-mysql 数据库 sudo docker pull zabbix/zabbix-server-mysql sudo docker run --name some-zabbix-se ...

  7. JavaScript(变量、作用域和内存问题)

    JavaScript是一个变量松散型的语言.(不像Java一样强类型语言.) JavaScript变量包括两种:基本类型(简单的数据段)和引用类型(对象). 一.基本数据类型(5种) Undefine ...

  8. Android开发技术周报183学习记录

    Android开发技术周报183学习记录 教程 Android性能优化来龙去脉总结 记录 一.性能问题常见 内存泄漏.频繁GC.耗电问题.OOM问题. 二.导致性能问题的原因 1.人为在ui线程中做了 ...

  9. redux源码学习笔记 - createStore

    本篇是学习redux源码的一些记录,学习的redux版本是^4.0.1. 在页面开发时,需要管理很多状态(state),比如服务器响应,缓存数据,UI状态等等···当页面的庞大时,状态就会变的混乱.r ...

  10. 【PHP篇】字符串基础

    1.声明时既可以用双引号也可以用单引号 str1 =”字符串值”;    //可解析引号里的变量等内容 str2=’字符串值’;     //不可解析内容 2.字符串没有长度限制,但要注意内存的消耗 ...