asp.net中使用基于角色的身份Forms验证,大致分为四个步骤

asp.net

asp.net中使用基于角色的身份Forms验证,大致分为四个步骤
1.配置系统文件web.config
<system.web>
<authentication mode="Forms" >
 <forms name=".yaoCookies" loginUrl="/duan/Manage/login.aspx" protection="All"
  timeout="20" path="/" />
 </authentication>
</system.web>
<forms>标签中的name表示指定要用于身份验证的 HTTP Cookie. 默认情况下,name 的值是 .ASPXAUTH。采用此种方式验证用户后,以此用户的信息建立一个FormsAuthenticationTicket类型的身份验证票,再加密序列化为一个字符串,最后将这个字符串写到客户端的name指定名字的Cookie中.一旦这个Cookie写到客户端后,此用户再次访问这个web应用时会将连同Cookie一起发送到服务端,服务端将会知道此用户是已经验证过的.
<forms>标签中的loginurl指没有经过身份验证的用户将会自动的定向到loginurl所指向的路径. 如果验证用户有效,则生成同此用户对应的身份验证票,写到客户端的Cookie,最后将浏览器重定向到用户初试请求的页面.其中用System.Web.Security.FormsAuthentication.RedirectFromLoginPage ()方法实现重定向.
<forms>标签中的timeout和path,是提供了身份验证票写入到Cookie过期时间和默认路径
2.在受保护的文件夹如Manage下创建一web.config文件,内容如
<configuration>
  <!--指定对整个Manage目录的访问权限-->
  <system.web>
     <authorization>
           <!--多个角色用,分隔-->
           <allow roles="admin,user"/>
           <deny users="*" />
       </authorization>
  </system.web>

  <!--也可控制某个页的权限

  <location path="AnnounceList.aspx">
     <system.web>
        <authorization>
           <allow roles="admin"/>
           <deny users="*" />
        </authorization>
     </system.web>
  </location>

  <location path="ConfigInfo.aspx">
     <system.web>
        <authorization>
           <allow roles="users"/>
           <deny users="*" />
        </authorization>
     </system.web>
  </location>

  -->
</configuration>
注:此配置内容也可以加入到系统的web.config文件中,注意加入位置:
........
    </system.web>

    <location path="Manage/AnnounceList.aspx">
     <system.web>
      <authorization>
       <allow roles="admin"/>
       <deny users="*" />
      </authorization>
     </system.web>
    </location>

</configuration>
 

时间: 2024-12-01 11:08:45

asp.net中使用基于角色的身份Forms验证,大致分为四个步骤的相关文章

如何在asp.net中对表单进行有选择的验证

问题描述 如何在asp.net中对表单进行有选择的验证,最好是VBscrip的,哪位能给指点一下,谢谢! 解决方案 解决方案二:无语解决方案三:我的意思是我在同一个页面上有2个提交按钮,每个提交按钮都分别要对不同的控件进行验证,怎样才能实现呢?

ASP.NET MVC 中实现基于角色的权限控制的处理方法_实用技巧

[Authorize]public ActionResult Index() 标记的方式,可以实现所标记的ACTION必须是认证用户才能访问: 通过使用 [Authorize(Users="username")] 的方式,可以实现所标记的ACTION必须是某个具体的用户才能访问,以上两种方式使用起来非常方便,在NeedDinner示例程序中已有具休的实现过程, 但是,我们在实际的应用中所使用的大都是基于角色(Roles)的认证方式,NeedDinner中却未给出,本文给出具体实现(基于

asp.net 中用户和角色的验证

asp.net 本文引用下面的 Microsoft .NET Framework 类库命名空间: • System.Web.Security • System.Web.Principal 请求的安全性事件流以下步骤简要介绍了在客户端发出请求时发生的事件序列: 1. 客户端请求 IIS 服务器上的一个 .aspx 页. 2. 将客户端凭据传递给 IIS. 3. IIS 对客户端进行身份验证,然后将经过身份验证的标记随客户端请求一起传送到 ASP.NET 工作进程. 4. 根据 IIS 传送的经过身

asp.net中常用的几种身份验证方式

前言 在B/S系统开发中,经常需要使用"身份验证".因为web应用程序非常特殊,和传统的C/S程序不同,默认情况下(不采用任何身份验证方式和权限控制手段),当你的程序在互联网/局域网上公开后,任何人都能够访问你的web应用程序的资源,这样很难保障应用程序安全性.通俗点来说:对于大多数的内部系统.业务支撑平台等而言,用户必须登录,否则无法访问和操作任何页面.而对于互联网(网站)而言,又有些差异,因为通常网站的大部分页面和信息都是对外公开的,只有涉及到注册用户个人信息的操作,或者网站的后台

asp.net中几种常用的身份验证方法总结_实用技巧

前言 在B/S系统开发中,经常需要使用"身份验证".因为web应用程序非常特殊,和传统的C/S程序不同,默认情况下(不采用任何身份验证方式和权限控制手段),当你的程序在互联网/局域网上公开后,任何人都能够访问你的web应用程序的资源,这样很难保障应用程序安全性.通俗点来说:对于大多数的内部系统.业务支撑平台等而言,用户必须登录,否则无法访问和操作任何页面.而对于互联网(网站)而言,又有些差异,因为通常网站的大部分页面和信息都是对外公开的,只有涉及到注册用户个人信息的操作,或者网站的后台

ASP.net中实现基于UrlRewrite的防盗链功能

 这篇文章主要介绍了ASP.net中如何实现基于UrlRewrite的防盗链,需要的朋友可以参考下 在ASP.net中最快实现UrlRewrite的方法这篇文章中说了如何做UrlRewrite,那只是一个最简单的应用    其实利用UrlRewrite与IIS的设置我们可以实现简单而有效的防盗链功能.    假设你的站点有一个文件:web.rar,你希望只有具有某些特定域名的来源地址或是已经登陆的用户才能访问,这时就得用到防盗链功能,在ASP时代,我们需要借助第三方组件来完成这个效果,但是在AS

ASP.net中实现基于UrlRewrite的防盗链功能_实用技巧

在ASP.net中最快实现UrlRewrite的方法这篇文章中说了如何做UrlRewrite,那只是一个最简单的应用 其实利用UrlRewrite与IIS的设置我们可以实现简单而有效的防盗链功能. 假设你的站点有一个文件:web.rar,你希望只有具有某些特定域名的来源地址或是已经登陆的用户才能访问,这时就得用到防盗链功能,在ASP时代,我们需要借助第三方组件来完成这个效果,但是在ASP.net中我们可直接利用Context.RewritePath来实现了. 下载配置文件: 复制代码 代码如下:

ASP.NET中对表单输入行有选择验证

asp.net 在ASP.NET中,有一系列的验证控件,可以很方便地验证用户输入的数据是否合法.尽管这些验证控件十分强大并且容易使用,但它们有一个缺点,那就是,一般在使用它们的时候,在提交网页时,都要对整个网页的用户输入进行验证.在验证控件中,没有一种直接的方法,可以只验证页面中某些部分的输入.本文将介绍如何利用asp.net验证控件以及javascript特性,完成只验证页面中某些部分的输入的功能. 为什么有的时候,只需要对页面的某些部分的输入进行验证呢?举一个例子,在某些应用中,有的时候为了

在 ASP.NET 中实现不同角色的用户使用不同登录界面的方法

很多用户在开发 ASP.NET 应用程序时都有这样的需求:管理员角色的账户使用管理员的登录界面进行登录,普通用户角色的账户使用普通用户的登录界面进行登录.由于ASP.NET的web.config里只能使用一个 authentication mode="Forms"节点,所以,要实现不同用户采用不同的登录界面,一个办法就是创建一个管理员专用的虚拟目录,并设置为应用程序来实现.下面介绍另外一种采用重定向的办法来解决这个问题. 本文介绍的方法原理是根据登录界面的返回地址进行判断,然后重定向到