易截截图软件、单文件、免安装、纯绿色、仅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调用webservice

这是我从别处摘抄的一篇文章,相信大家都很熟悉的,讲的很明白,但是我对其中一点存有疑惑,许久也没有找到答案。
调用webservice时可以返回datatable等复杂数据类型,下面例子中也有的,在前台调用时,其实这些数据类型经过了转换器处理。下面的例子中,返回的datatable被一项一项添加到select上去了,其实我看了就是一个 ......

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


      本演练阐释如何使用 ASP.NET 验证程序控件检查网页中的用户输入。您无需代码就可以使用某些自动执行所有检查的控件。此外,您还将通过编写代码创建一个自定义验证程序,该过程将演示如何将您自己的逻辑添加到页的验证框架中。最后,您将学习如何根据用户在页上所做的选择有条件地验证用户 ......

ASP.NET 菜单控件概述


      利用 ASP.NET Menu 控件,可以开发 ASP.NET 网页的静态和动态显示菜单。
      Menu 控件具有两种显示模式:静态模式和动态模式。静态显示意味着 Menu 控件始终是完全展开的。整个结构都是可视的,用户可以单击任何部位。在动态显示的菜单中,只有指定的部分是 ......

ASP.NET 演练:在网页上显示菜单


      本演练阐释如何在网页上放置和配置 ASP.NET Menu 控件。
无论网站的复杂性如何,都需要包含一个导航菜单。可以使用 ASP.NET 中的 Menu 控件方便地设置复杂的导航菜单,而无需编写任何代码。
Menu 控件支持多种显示模式,包括静态显示模式(完全显示菜单)和动态显示模式(当鼠标指针滑 ......

asp.net连接sql

调用数据连接两种方法
1.web.config (配置文件) 中
<appSettings>
<add key="ConnectionString" value="server=localhost\sqlexpress;uid=sa;pwd=123456;database=News"/>
</appSettings>
调用的时候
string strConn = System.Configuration.ConfigurationManager.AppSettings["ConnectionString ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号