Coolite+Form网站后台身份验证

news/2024/5/10 23:09:20/文章来源:https://blog.csdn.net/diwen8138/article/details/101989016
 

这个登录验证,coolite不是重点.重点是对网站进行Form方式的身份验证.对这块不太熟悉,查阅了一些资料.得以解决,分享出来!

先来用coolite做个登录界面吧,既然用了coolite.

<ext:ScriptManager runat="server">
</ext:ScriptManager>
<ext:Window runat="server" Width="350" ButtonAlign="Right" BodyStyle="padding:20px;"Height="180" Title="登录后台管理" Draggable="false" Closable="false" Maximizable="false"Modal="true" Icon="UserGo" Resizable="false" Plain="true"><Body><ext:FormPanel ID="login" runat="server" Frame="true" BodyStyle="padding:10px;" BaseCls="x-plan"><Body><ext:FormLayout ID="FormLayout1" runat="server" LabelWidth="60"><ext:Anchor Horizontal="100%"><ext:TextField ID="txtUserName" runat="server" FieldLabel="用户名" AllowBlank="false"BlankText="请输入管理员帐号!"></ext:TextField></ext:Anchor><ext:Anchor Horizontal="100%"><ext:TextField ID="txtPassWord" InputType="Password" runat="server" FieldLabel="密&nbsp;&nbsp;&nbsp;码"AllowBlank="false" BlankText="请输入正确的管理员口令!"></ext:TextField></ext:Anchor></ext:FormLayout></Body></ext:FormPanel></Body><Buttons><ext:Button ID="btnLogin" runat="server" Text="登录" Type="Submit" Icon="ServerGo"><AjaxEvents><Click OnEvent="BtnLogin_Click" Before="return login.getForm().isValid();"><EventMask ShowMask="true" Msg="正在验证登录,请稍候..." /></Click></AjaxEvents></ext:Button><ext:Button ID="Button2" runat="server" Text="重置" Type="Reset" Icon="ArrowRefreshSmall"><Listeners><Click Handler="login.getForm().reset();" /></Listeners></ext:Button></Buttons>
</ext:Window>

上图为效果.进行了基本的验证.接下来是BtnLogin_Click登录事件处理.首先是进行数据查询验证:

/// <summary>
/// 检查用户名与密码是对正确
/// </summary>
/// <param name="username">用户名</param>
/// <param name="password">MD5密码</param>
/// <returns></returns>
public bool checkLogin(string username, string password)
{string sql = "select * from UserInfo where Name=@name and Pass=@pass";OleDbParameter[] param = new OleDbParameter[]{new OleDbParameter("@name",username),new OleDbParameter("@pass",password)};DataTable dt = DbHelper.GetDataTable(sql, CommandType.Text, param);if (dt.Rows.Count > 0){return true;}else{return false;}
}

这个就很简单,密码先加密一下,与数据库对照.接下来就来说下配置Form身份验证,然后再说登录事件的处理.

理论的文章有好多,解释也挺详细,但就是看的头痛.我就只讲重点,我的验证是怎么实现的了.先来看下网站结构:

imagemanager为后台管理的页面,我们需要登录之后才能允许访问后台管理里的页面. 自己来作判断感觉太麻烦.因为MS已经有现成的基于网站的身份验证.这里我选择了Form对manager进行身份验证:

首先是在web.config里进行配置:

<configuration>

在这个结点下配置如下:

<!-- 配置拒绝匿名用户的文件夹 -->
<location path="manager"><system.web><authorization><deny users="?"/></authorization></system.web>
</location>
path指定了要验证的文件夹,deny users=”?”是拒绝没有经过授权的用户访问.然后在
<system.web>
<!--通过 <authentication> 节可以配置 ASP.NET 用来 识别进入用户的安全身份验证模式。 -->
<authentication mode="Forms"><forms loginUrl= "Login.aspx" name=".ASPXAUTH" timeout="30" path= "/"/>
</authentication>

loginUrl指定匿名用户到登录界面,name是cookie的名字,后面会用到.这样配置就可以了,也可以在manager文件夹下建立web.config进行配置.这里就不说了.

这下就来看下BtnLogin_Click事件里是怎么处理Form验证的.

protected void BtnLogin_Click(object sender, AjaxEventArgs e)
{string username = txtUserName.Text.Trim();string password = this.txtPassWord.Text;//MD5加密密码string md5_pass = MD5.Encrypt(password);if (checkLogin(username, md5_pass)){FormsAuthenticationTicket Ticket = new FormsAuthenticationTicket(1, username,DateTime.Now, DateTime.Now.AddMinutes(30), false, "/"); //建立身份验证票对象string HashTicket = FormsAuthentication.Encrypt(Ticket); //加密序列化验证票为字符串HttpCookie UserCookie = new HttpCookie(FormsAuthentication.FormsCookieName, HashTicket);//生成CookieContext.Response.Cookies.Add(UserCookie); //输出Cookie//Context.Response.Redirect(Context.Request["ReturnUrl"]); // 重定向到用户申请的初始页面Response.Redirect("~/manager/ViewPort.aspx");}else{Ext.Msg.Show(new MessageBox.Config{Title = "返回提示",Message = "用户名或密码错误,请确认!",Icon = MessageBox.Icon.ERROR,Buttons = MessageBox.Button.OK});}
}

代码里的注释写的比较清楚了,就不多浪费文字了.注销代码:

FormsAuthentication.SignOut();

注销所谓的身份验证票.以上就是一个完整的Form身份验证的过程了.俺也只是略知一二,解决了自己网站后台权限验证问题.不敢保留,分享给大家,希望大家提出自己的意见,加以改进和补充!

 

欢迎加入Coolite中文社区: http://www.coolite.net.cn

 

转载于:https://www.cnblogs.com/magical/archive/2009/12/17/1626575.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_869473.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于今天解决IE6样式兼容及.net3.5网站发布问题

1.上下两个div在ie6下有间距&#xff0c;但在ie7下正常&#xff0c;如何修正&#xff1f; overflow:hidden 两个DIV的样式加上这个overflow:hidden&#xff0c;或者上面的DIV加上这个 2.ie6下png图片和png背景透明 参考资料:http://mynee.blogbus.com/logs/24109302.html 3.区别…

新手站长如何利用管理面板快速建站?

越来越多的人选择个人建站&#xff0c;个人站长虽然门槛很低&#xff0c;但是有些朋友觉得Linux服务器各种复杂的命令脚本让自己没法搭建环境。今天我分别用一键部署和手动上传源码两个操作步骤以图文形式分别对如何利用管理面板快速建站进行讲解。 注&#xff1a;WordPress 是…

新手如何用管理面板搭建WordPress网站

服务器最大的用途&#xff0c;就是可以搭建网站&#xff0c;许多人都认为搭建网站是一件很难的事情&#xff0c;因为包含许多的比较专业东西&#xff0c;比如服务器、编程之类的&#xff0c;确实&#xff0c;在几年前是这样的&#xff0c;普通人想要自己做一个网站太难了 但是…

小白必看,从选服务器到建站的具体操作方法

作为一个新手&#xff0c;想拥有一个自己独立网站&#xff0c;博客该如何操作&#xff0c;搭建网站呢&#xff1f;其实也很简单看完这篇文章你也就懂了&#xff01; 1.申请服务器 具体过程我就不做重点描述了&#xff0c;大概步骤就是1.选择服务器厂商&#xff1b;2.选择服务器…

用hexo搭建个人网站并部署在github

1.安装git 2.安装node.js 安装git和node.js已在之前的文章发布&#xff0c;详情请参考以上文章&#xff0c;本文从安装hexo开始 3.安装hexo 以管理员方式打开git bash&#xff08;找到git安装路径&#xff0c;右键git bash的快捷方式选择以管理员方式运行&#xff09; 创建…

java通过Cookie实现网站自动登录

第一步&#xff0c;登陆的时候如果选择了[自动登录]的选项&#xff0c;则需要在登陆成功后&#xff0c;附加下面的代码 应为一般网站都提供保存用户名的功能&#xff0c;所以我把这个写到了外面。只有密码是单独处理的。 其中的host就是你的域名 login.jsp Java代码 String …

《大型网站技术架构》一书读后感

最近业余时间看了《大型网站技术架构——核心原理与案例分析》一书&#xff0c;李智慧著。全书只有200多页&#xff0c;但涵盖了网站技术架构的方方面面&#xff0c;细节虽然没有过多阐述&#xff0c;但都提供了技术思路&#xff0c;读后让人收获颇多。不过最大的收获并非技术层…

保证网站健康运营是网站优化的重要保证

保证网站健康运营是网站优化的重要保证&#xff0c;那么怎样才能保证网站健康运营呢?本篇文章中笔者和大家分享保证网站健康运营的三支护航舰队。 第一、做站前估量网站价值 何谓网站价值?网站价值就是说你的网站是否对用户有用&#xff0c;是否对seo行业有用&#xff0c;甚…

百度对作弊网站和垃圾网站不时的穷追猛打

但是在今天无意的搜索过程当中看到&#xff0c;网站的图文、网站的时长。猜测百度可能会继续抓取网站相关的优质内容。也就是说&#xff0c;网站的优化应该把重心从外部往内部进行转移(在优化中一直存在争议外链为皇还是内容为皇&#xff0c;通过去年6月到今年现在多做内容关键…

要坚持知己知彼原则 网站分析

网站分析是每一位SEO优化工作者的必备技能&#xff0c;当优化人员拿到一个需要进行优化的网站时&#xff0c;首先要做的就是对该网站做一个系统性的分析&#xff0c;然后找出该网站存在的缺陷&#xff0c;并对该网站的竞争者做出相应的分析报告&#xff0c;指出这个网站的可行性…

保持网站内容每天更新有利于收录

网站优化的过程中就是为了保证网站每天可以更新&#xff0c;百度的蜘蛛每天都来才好那么当我遇到百度的收录十分缓慢那时怎样回事呢&#xff01; 网站所以的域名是以前有人用过的域名&#xff0c;而且被处分过&#xff0c;那么这样的域名早就给搜索引擎留下了不好的印象&#x…

为什么百度蜘蛛不对网站进行抓取?

其实百度蜘蛛之所以不抓取你的网站有可能就是因为你网站中有让蜘蛛都不懂的内容存在&#xff0c;那么有哪些是蜘蛛读不懂的内容。 很多站长为了网站整体美观和内容丰富&#xff0c;往往喜欢放入大量高质量的图片、动画&#xff0c;并把很多重要的内容都置入这些图片、动画或者脚…

做网站要注意哪些方面?

你想建立一个什么网站&#xff1f;您的网站的定位是什么&#xff1f;网站建立之前&#xff0c;这是首先要考虑的。我们应该考虑兴建主题的网站&#xff0c;例如&#xff0c;专业技术为主题或游戏为主题的网站。然后考虑你建立这个网站的目的是什么&#xff1f;纯粹是为了个人爱…

如何充分利用分类信息网站来做外链

一。发布的网站 分类信息网站有很多&#xff0c;大到全国性的&#xff0c;小到地方性的&#xff0c;那么如何利用这么多的分类信息网站发外链最有效&#xff1f;首先要选的就是权重高的分类信息网站&#xff0c;比如百姓网、58同城、赶集网等&#xff0c;建议大家使用一样的用户…

heimaoSEO和白帽SEO并不是价值上的判定

heimaoSEO是一些急功近利的站长习用的手法。因为seo搜索引擎并不发布他的收录准则和排名手法&#xff0c;是以站长们在有意或无意之间就使用了heimao手法。良多时辰&#xff0c;站长们是为了流量和排名而使用heimao手艺&#xff0c;这种作弊是被搜索引擎降权&#xff0c;甚至是…

SEO需长期稳步前进 否则不进则退

网站排名和流量提高并稳定以后&#xff0c;也不能说大功告成。SEO是个没有结果的过程。有一些网站不再接续做SEO&#xff0c;排名可以稳定很长时间&#xff0c;而有的网站却不进则退&#xff0c;停止优化就很可能导致排名和流量慢慢下降。  造成排名下降的原因有很多方面&…

个人认为比较好的编程练题网站(更新)

**python-- python在线编程网站——https://python123.io/student/courses/0/groups 51nod–很简洁的做题网站——— http://www.51nod.com/ 牛客网–很多技术&#xff0c;运维&#xff0c;题目的综合可以算是面向社会了—— https://www.nowcoder.com/activity/oj 英文编…

web的购物网站商城的设计与实现(毕设)

目录 购物系统的环境 网上购物系统模块图 购物系统的E-R图 具体功能图像展示 购物系统的环境 myeclipsesqlserverjspmvc框架apache 网上购物系统模块图 网上购物系统前台模块图 网上购物系统的后台模块图 购物系统的E-R图 具体功能图像展示 主界面 注册界面 登陆界面 下…

[专访]从12306说起 如何构建高并发高性能网站

【IT168 专稿】2012年的春运潮造就了中国铁路客户服务中心12306网络购票系统一夜蹿红&#xff0c;从传统购票方式到电子商务&#xff0c;2012年1月1日开通的12306网络购票系统成为了铁道部改革的重要一步。 但是随着12306系统的上线&#xff0c;各种关于12306系统的抱怨声也层出…

Online-Edu-小赵学院在线教育网站-项目总结

一、项目微服务模块划分 功能划分&#xff1a; api-gateway&#xff1a; 网关&#xff0c;对客户端请求进行断言、过滤等判断后负载均衡的路由到相应微服务模块 canal-client-edu&#xff1a; 考虑到分库分表场景&#xff0c;对虚拟机中数据库(这里canal.instance.filter.reg…