易截截图软件、单文件、免安装、纯绿色、仅160KB

Asp.net中基于Forms验证的角色验证授权[原理及流程]

 
Asp.net的身份验证有有三种,分别是"Windows | Forms | Passport",其中又以Forms验证用的最多,也最灵活。
Forms 验证方式对基于用户的验证授权提供了很好的支持,可以通过一个登录页面验证用户的身份,将此用户的身份发回到客户端的Cookie,之后此用户再访问这个web应用就会连同这个身份Cookie一起发送到服务端。服务端上的授权设置就可以根据不同目录对不同用户的访问授权进行控制了。
问题来了,在实际是用中我们往往需要的是基于角色,或者说基于用户组的验证和授权。对一个网站来说,一般的验证授权的模式应该是这样的:根据实际需求把用户分成不同的身份,就是角色,或者说是用户组,验证过程不但要验证这个用户本身的身份,还要验证它是属于哪个角色的。而访问授权是根据角色来设置的,某些角色可以访问哪些资源,不可以访问哪些资源等等。要是基于用户来授权访问将会是个很不实际的做法,用户有很多,还可能随时的增减,不可能在配置文件中随时的为不断增加的新用户去增加访问授权的。
下面大概的看一下Forms的过程。
Forms身份验证基本原理:[没有角色验证]
一 身份验证
要采用Forms身份验证,先要在应用程序根目录中的Web.config中做相应的设置:
<authentication mode="forms">
    <forms name=".ASPXAUTH " loginUrl="/login.aspx" timeout="30" path= "/">
    </forms>
</authentication>
其中<authentication mode= "forms"> 表示本应用程序采用Forms验证方式。
1. <forms>标签中的name表示指定要用于身份验证的 HTTP Cookie。默认情况下,name 的值是 .ASPXAUTH。采用此种方式验证用户后,以此用户的信息建立一个FormsAuthenticationTicket类型的身份验证票,再加密序列化为一个字符串,最后将这个字符串写到客户端的name指定名字的Cookie中.一旦这个Cookie写到客户端后,此用户再次访问这个web应用时会将连同Cookie一起发送到服务端,服务端将会知道此用户是已经验证过的.
再看一下身份验证票都包含哪些信息呢,我们看一下FormsAuthenticationTicket类:
CookiePath: 返回发出 Cookie 的路径。注意,窗体的路径设置为 /。由于窗体区分大小写,这是为了防止站点中的 URL 的大小写不一致而采取的一种保护措施。这在刷新 Cookie 时使用
Expiration: 获取 Cookie 过期的日期/时间。
IsPersistent: 如果已发出持久的 Cookie,则返


相关文档:

浅谈ASP.net安全编程

在Web编程过程中,存在着很多安全隐患。比如在以前的ASP版本中,Cookie为访问者和编程者都提供了方便,并没有提供加密的功能。打开IE浏览器,选择“工具”菜单里的“Internet选项”,然后在弹出的对话框里单击“设置”按钮,选择“查看文件”按钮,在弹出的窗口中,就会显示硬盘里 ......

asp.net中打开Excel上传文件,读取数据的方法

 
代码:
/// <summary>
    /// 打开Excel文件
    /// </summary>
    /// <param name="ExcelFileName">文件名</param>
    private void OpenExcelFile(string ExcelFileName)
    {
  &nb ......

ASP.NET 2.0发送电子邮件全面剖析之二

  出处:天极网 作者:朱先忠编译 时间:2006-9-25 9:36:00
  一、简介
在上篇中我们详细分析过,.NET框架2.0版本提供了一个新的命名空间(System.Net.Mail)和一些发送电子邮件的新类(注意:.NET框架1.x版本中提供的命名空间System.Web.Mail及相关的类仍然可以使用,以实现向后兼容性)。而且,我们 ......

ASP.NET 演练:验证 Web 窗体页中的用户输入


      本演练阐释如何使用 ASP.NET 验证程序控件检查网页中的用户输入。您无需代码就可以使用某些自动执行所有检查的控件。此外,您还将通过编写代码创建一个自定义验证程序,该过程将演示如何将您自己的逻辑添加到页的验证框架中。最后,您将学习如何根据用户在页上所做的选择有条件地验证用户 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号