ASP.net Forms验证Demo第1/3页
如果您研究过这个问题,那么,你一定会比较郁闷,现在网上流行的那个,国产的,里面有点问题,反正我一从昨天研究到现在 2008年12月17日 23时59分10秒,才搞明白是怎么回事,你说我们这些人容易吗!如果只是为了完成任务,我用ASP就OK了,为什么还要用ASP.net,如果我们用.net时还用ASP的思路也得了,为什么还要研究ASP.net提供的东西。呵呵,不为什么,喜欢,我所做的正是我想做的,我不是为了完成一个任务,而是为了提升自己。总之一句话:我的目标是简化生活,技术高了,就不怕出错了,天塌下来也能给他顶回去。
言归正传,首先,贴上人家外国人的地址:http://www.codeproject.com/KB/web-security/formsroleauth.aspx
有兴趣的可以看看,没兴趣的直接下我的Demo,有点兴趣的可以看下国人处理时有问题的地方:
Global.asax
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
if (HttpContext.Current.User != null)//如果当前的http信息中存在用户信息
{
if (HttpContext.Current.User.Identity.IsAuthenticated)//如果当前用户的身份已经通过了验证
{
if (HttpContext.Current.User.Identity is FormsIdentity)
{
//如果当前用户身份是FormsIdentity类即窗体验证类,此类有个属性能够访问当前用户的验证票
FormsIdentity fi = (FormsIdentity)HttpContext.Current.User.Identity;//创建个FormsIdentity类,用他来访问当前用户的验证票
//获得用户的验证票
FormsAuthenticationTicket ticket = fi.Ticket;
//从验证票中获得用户数据也就是角色数据
string userData = ticket.UserData;
//把用户数据用,分解成角色数组
string[] roles = userData.Split(',');
//重写当前用户信息,就是把角色信息也加入到用户信息中
HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(fi, roles);
}
}
}
}
最后,贴上国人的地址,其实文章写的不错,只是这个事件没写对,其它的都不错
当前1/3页 123下一页阅读全文
相关推荐
-
ASP.NET Internet安全Forms身份验证方法
本文分别以ASP.NET1.1与ASP.NET2.0在Forms 身份验证上的实现方法,以及ASP.NET2.0较上一版本有哪些改进或变化进行说明.相信读者都己经看过许多类似这样的文章,不伦是在网上或是某些专业书籍上,最近又有模式&实践小组成员发布WCF安全模型指南,可见构建网站安全总是不过时的话题,作者认为此文也绝对是您应该收藏的参考资料. ASP.NET 安全性的工作原理 网站在安全性方面有一个常见的要求:特定的页面仅允许某些成员或其他经过身份验证的用户浏览.充分利用Forms身份验证是最好
-
asp.net Forms身份验证和基于角色的权限访问
主要思想:Forms身份验证用来判断是否合法用户,当用户合法后,再通过用户的角色决定能访问的页面. 具体步骤: 1.创建一个网站,结构如下: 网站根目录 Admin目录 ----> 管理员目录 Manager.aspx ----> 管理员可以访问的页面 Users目录 ----> 注册用户目录
-
asp.net 基于forms验证的目录角色权限的实现
但是我在使用过程中,发现针对角色的控制并不是那么容易,通过在网上查找资料,终于解决这个问题.下面将主要的注意事项列出来.1.配置文件中,角色的allow项要放在deny项的前面,users要配置为*,而不是? 代码 复制代码 代码如下: <location path="Doctors"> <system.web> <authorization> <allow roles="doctors"/> //这个在前 <d
-
ASP.NET Forms身份认证详解
ASP.NET身份认证基础 在开始今天的内容之前,我想有二个最基础的问题首先要明确: 1. 如何判断当前请求是一个已登录用户发起的? 2. 如何获取当前登录用户的登录名? 在标准的ASP.NET身份认证方式中,上面二个问题的答案是: 1. 如果Request.IsAuthenticated为true,则表示是一个已登录用户. 2. 如果是一个已登录用户,访问HttpContext.User.Identity.Name可获取登录名(都是实例属性). 接下来,本文将会围绕上面二个问题展开,请继续阅读
-
ASP.NET 2.0 中Forms安全认证
即:使用 Membership 类 + FormsAuthentication 一起使用以创建的用户管理与认证的系统. 当然这两部分都可以单独使用,今天先着重后者,至于前者,我下一篇随笔将会写到. ASP.NET 中提供了多种认证方式,比如大名鼎鼎的Windows 身份验证 Windows 身份验证模式根据 IIS 所提供的凭据将当前 User 属性值设置为 WindowsIdentity,但它不修改提供给操作系统的 Windows 标识.提供给操作系统的 Windows 标识用于进行权限检查(
-
Asp.Net二级域名共享Forms身份验证、下载站/图片站的授权访问控制
一般大家对小文件的解决办法是直接在服务端读取文件,然后输出,这样就避免了文件地址的暴露,这是一种解决办法.而我现在想说的是使用 TransmitFile 方法直接输出文件,但是这个方法对大文件的支撑力度有多少,以及会带来多大的性能开销,我还没有测试过,有兴趣的朋友可以测试下,并发表评论. 好了,进入正题,一般对下载站,大家想到的就是流量的问题,所以自动就想到应该把文件与程序代码分开部署.所以我给文件单独做了一个二级域名,我们就叫 file.xxx.com 吧.主网站域名就是 www.xxx.co
-
asp.net forms身份验证,避免重复造轮子
问题:大家都说使用 forms 验证无法得到当前登录用户除了用户名之外的更多信息,经过我的一番小试验,在 forms 方式下自带的 userdata 可以为我们施展天地的地方.下面记录一下我的操作步骤备忘. step 1: web.config 配置关键地方: web.config配置 复制代码 代码如下: <!-- 通过 <authentication> 节可以配置 ASP.NET 用来 识别进入用户的 安全身份验证模式. --> <authentication mode=
-
ASP.NET实现基于Forms认证的WebService应用实例
本文实例讲述了ASP.NET实现基于Forms认证的WebService应用方法.分享给大家供大家参考.具体实现方法如下: 在安全性要求不是很高的ASP.Net程序中,基于Forms的身份验证是经常使用的一种方式,而如果需要对WebService进行身份验证,最常用的可能是基于Soap 标头的自定义身份验证方式.如果对两者做一下比较的话,显然,基于Forms的验证方式更加方便易用,能否将Forms验证方式应用到WebService中去呢? 从理论上讲,使用基于Forms的方式对WebServic
-
一个简单的ASP.NET Forms 身份认证的实例方法
Web.config 复制代码 代码如下: <configuration> <system.web> <compilation debug="true"/> <authentication mode="Forms"> <forms loginUrl="login.aspx" name = ".ASPXFORMSAUTH" /> </authentica
-
ASP.net Forms验证Demo第1/3页
如果您研究过这个问题,那么,你一定会比较郁闷,现在网上流行的那个,国产的,里面有点问题,反正我一从昨天研究到现在 2008年12月17日 23时59分10秒,才搞明白是怎么回事,你说我们这些人容易吗!如果只是为了完成任务,我用ASP就OK了,为什么还要用ASP.net,如果我们用.net时还用ASP的思路也得了,为什么还要研究ASP.net提供的东西.呵呵,不为什么,喜欢,我所做的正是我想做的,我不是为了完成一个任务,而是为了提升自己.总之一句话:我的目标是简化生活,技术高了,就不怕出错了,天塌
-
浅谈asp.net Forms身份验证详解
在做网站的时候,都会用到用户登录的功能.对于一些敏感的资源,我们只希望被授权的用户才能够访问,这让然需要用户的身份验证.对于初学者,通常将用户登录信息存放在Session中,笔者在刚接触到asp.net的时候就是这么做的.当我将用户信息存在在Session中时,常常会遇到Session丢失导致用户无法正常访问被授权的资源,保持用户登录状态时的安全性问题,无休其实,在asp.net中,我们有更好的解决方案,那就是通过Forms身份验证,从而对用户进行授权,这种方法可以轻松的保持用户的登录状态(如果
-
asp.net 身份验证机制实例代码
ASP.NET提供了3种认证方式:windows身份验证.Forms验证和Passport验证. windows身份验证: IIS根据应用程序的设置执行身份验证.要使用这种验证方式,在IIS中必须禁用匿名访问. Forms验证:用Cookie来保存用户凭证,并将 未经身份验证的用户重定向到自定义的登录页. Passport验证:通过Microsoft的集中身份验证服务执行的,他为成员站点提供单独登录和核心配置文件服务. 关于这三种验证方式的配置,推荐一篇文章:http://www.jb51.ne
-
asp.net身份验证方式介绍
windows身份验证: IIS根据应用程序的设置执行身份验证.要使用这种验证方式,在IIS中必须禁用匿名访问. Forms验证:用Cookie来保存用户凭证,并将 未经身份验证的用户重定向到自定义的登录页. Passport验证:通过Microsoft的集中身份验证服务执行的,他为成员站点提供单独登录 和核心配置文件服务. 一. 配置windows身份验证 1)配置IIS设置 of Dern)" alt="asp.net身份验证方式(ref:DreamSpace of Dern)&q
-
ASP.NETWeb服务器验证控件如何使用
什么是验证控件? 希望用户输入正确的类型的数据,为了验证用户输入是否满足要求,必须对输入的值.范围或格式进行检查. .NET中验证控件在哪里? 在工具箱的验证分组里. 常用的ASP.NET控件几个?分别是什么? 1)CompareValidator控件:与给定值比较. 2)CustomValidator控件:用户自己定制校验逻辑 3)RangeValidator控件:检查控件的值是否在给定的有效范围内. 4)RegularExpressValidator控件:使用正则表达式验证用户输入的数据是否
-
Asp.NEt邮箱验证修改密码通过邮箱找回密码功能
使用邮箱验证修改密码,在这里我是使用163免费邮进行测试 前台代码 <input type="text" name="Mail" id="Mail"/> <span>*请输入邮箱</span><br/> <asp:Button ID="zhuce" runat="server" Text="tijiao" OnClick="
-
ASP.NET中验证控件的使用方法
对于这些常用的控件有效性验证,在Asp.Net中有单独的验证控件可供使用.他们可以满足一般的,诸如非空,范围.比较等的验证,为用户登录页面添加输入数据验证功能和验证码功能. 验证控件: Asp.Net中内置的验证控件有:RequiredFieldValidation.RangeValidation.RegularExpressValidation.CompareValidation.CustomValidation和ValidationSummary等六种.其中用户自定义验证控件,由于并不非常常
-
.net MVC中使用forms验证详解
.net MVC中使用forms验证,供大家参考,具体内容如下 文件夹的分部是这样子的 首先在Web.config中设置 authentication和authorization 节点 <system.web> <authentication mode="Forms"> <forms loginUrl="~/Login/Index" timeout="2880" defaultUrl="~/Home/Ind
随机推荐
- AngularJS入门教程之学习环境搭建
- 基于golang时间转换的问题
- javascript中创建对象的几种方法总结
- js跨域资源共享 基础篇
- KnockoutJS 3.X API 第四章之数据控制流if绑定和ifnot绑定
- for循环连续求和、九九乘法表代码
- php简单实现多语言切换的方法
- php/js获取客户端mac地址的实现代码
- 小论asp中request与response的用法
- React Router基础使用
- wampserver下mysql导入数据库的步骤
- 理解MySQL存储过程和函数
- MySQL对limit查询语句的优化方法
- css层固定位置练习
- centos下编译安装mysql报错解决方案
- java 反射 动态调用不同类的静态方法(推荐)
- Snoopy类使用小例子
- 通晓网络测试常用命令
- PHP实现单文件、多个单文件、多文件上传函数的封装示例
- 详解python播放音频的三种方法