`
yangshen998
  • 浏览: 1302175 次
文章分类
社区版块
存档分类
最新评论

网站的身份验证

 
阅读更多

网站的身份验证

左直拳

前段时间用ASP.NET做一个网站,其中有个要求是网站里有些页面或功能需要用户登录后才能浏览或使用。

应该没有什么问题,因为ASP.NET提供了完善的身份验证服务。

ASP.NET IIS 一起使用以支持身份验证。有四种验证方式供君选择:NoneWindowsForm以及PassportPassport我不知道怎么用,而None又不知道有什么用,估计是逗你玩。用Form吧,系统会将未经身份验证的请求重定向到登录页,验证通过后,系统又自动转向此前请求的页面,正适合网站的要求。

“我,只用力士。”——国际影星娜塔莎·金丝姬。

现在问题是,怎样来控制哪些页面需要身份验证,哪些可以随便浏览?

身份验证在配置文件web.config里定义。在一个网站里,可能存在多个web.config。比如,根目录下有一个,某些子目录下又各有一个。按我的理解,web.config就好象面向对象里的类,具有继承和重载的特性,比如说,假设有个属性,子目录下的web.config没有重新定义,则继承根目录下的定义,否则以自己的定义为准。

这样子,针对我们这个网站的要求,只要在根目录下定义默认是允许所有人访问,然后再对特定的页面和子目录定义为拒绝匿名访问,不就搞定了吗?

假设有个网站web,其下有子目录s1s2,文件default.aspxinfo.aspxlogin.aspx。如图所示

<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"></shapetype><stroke joinstyle="miter"></stroke><formulas></formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f><lock aspectratio="t" v:ext="edit"></lock><shape id="_x0000_i1025" style="WIDTH: 237pt; HEIGHT: 90pt" type="#_x0000_t75"></shape><imagedata o:title="folder" src="file:///C:/DOCUME~1/chendaqu/LOCALS~1/Temp/msoclip1/01/clip_image001.gif"></imagedata>

要求根目录下文件info.aspx、子目录s1需要经过身份验证才可浏览,其余可自由浏览,则根目录web.config定义如下:

<system.web>

<authentication mode="Forms" >

<!-- 登陆页面为login.aspx -->

<forms name="web" loginUrl="login.aspx" protection="All" timeout="120"/>

</authentication>

<authorization>

<allow users="*" /> <!-- 允许所有用户 -->

</authorization>

</system.web>

<location path="s1"><!—子目录s1拒绝匿名访问,必须先登陆 -->

<system.web>

<authorization>

<deny users="?"/>

</authorization>

</system.web>

</location>

<location path="info.aspx"><!—页面info.aspx拒绝匿名访问,必须先登陆 -->

<system.web>

<authorization>

<deny users="?"/>

</authorization>

</system.web>

</location>

这样子设置后,info.aspx/s1/*.*都要先经过身份验证才可访问,否则,系统将自动转向登陆页面login.aspx

假如子目录s1里有文件例外,例如welcome.aspx不需要身份验证,则在s1/web.config里定义

<configuration>

<location path="welcome.aspx"> <!-- 允许所有用户 -->

<system.web>

<authorization>

<allow users="*"/>

</authorization>

</system.web>

</location>

</configuration>

左直拳的马桶(http://blog.csdn.net/leftfist/

左直拳的马桶(http://blog.csdn.net/leftfist/
分享到:
评论

相关推荐

    网站身份验证.zip

    网站身份验证是网络安全的重要组成部分,它确保用户访问的网站确实是其声称的那个,防止中间人攻击、数据泄露和其他网络欺诈行为。在互联网上进行交易、登录个人信息或者敏感数据传输时,网站身份验证至关重要。 1....

    谷歌身份验证器插件,谷歌身份验证器插件,谷歌身份验证器插件,谷歌身份验证器插件谷歌身份验证器插件

    当用户尝试登录支持两步验证的网站时,除了输入用户名和密码外,还需在谷歌身份验证器应用或插件中获取当前有效的验证码,确保只有授权的设备才能访问账户。 总结起来,谷歌身份验证器插件是一个重要的安全工具,它...

    身份验证示范源程序

    标题中的“身份验证示范源程序”表明这是一个关于网站身份验证的示例代码,通常用于教育或测试目的。在Web开发中,身份验证是确保只有授权用户可以访问受保护资源的关键步骤,例如个人账户、管理界面等。这个项目是...

    身份验证身份验证身份验证

    1. 网络安全:在登录网站、使用在线银行服务或访问公司内部网络时,通常需要身份验证以防止未授权访问。 2. 移动设备:智能手机和平板电脑通常需要PIN码、图案解锁或生物特征验证来保护用户数据。 3. 云服务:云...

    ASP.NET身份验证与授权

    ASP.NET身份验证与授权是构建安全的Web应用程序的关键组成部分,主要涉及到识别用户、控制资源访问以及管理用户权限。本文将详细阐述这些概念和技术。 1. **身份验证**:身份验证是确认用户身份的过程,通常需要...

    IIS 6.0入门及进阶系列课程之九:理解IIS 6.0中的身份验证

    在本课程中,我们将深入探讨IIS 6.0中的身份验证机制,这是确保网站安全的关键组成部分。 身份验证是确认用户身份的过程,它允许IIS确定谁有权访问特定的资源。IIS 6.0提供了多种身份验证方法,每种都有其特定的...

    有关Windows下IIS的身份验证

    IIS(Internet Information Services)提供了多种身份验证方法,用于保护 Web 应用程序和网站的安全。本文将详细介绍 IIS 下的身份验证方法,包括匿名身份验证、基本身份验证、摘要式身份验证、Windows 集成身份验证...

    ASP.NET中实现身份验证方案

    例如,对于公开内容与私有内容混合的网站,可能需要结合匿名和表单身份验证。 六、选择的身份验证的实现 一旦确定了身份验证方法,就需要在ASP.NET项目中配置。这可以通过Web.config文件完成,设置相应的身份验证...

    设计基于CardSpace的身份验证

    1. **添加CardSpace支持**:确保网站的登录页面支持CardSpace身份验证选项。 2. **配置依赖方**:设置网站作为依赖方,以便能够接收来自身份提供者的安全令牌。 3. **测试与验证**:在正式上线前,进行多次测试确保...

    phpweb成品网站跳过官方用户身份验证方法

    3. **修改cookies**:若网站依赖cookie进行身份验证,可以在本地设置相同的cookie值,如`PHPSESSID`,值为找到的session ID。 4. **利用漏洞**:如果存在安全漏洞,例如session固定攻击或者SQL注入,可以利用这些...

    ASP.NET基于身份验证

    ASP.NET的身份验证机制主要分为三种类型:Windows身份验证、Forms身份验证和OAuth身份验证。在本例中,我们关注的是Forms身份验证,这是最常见的Web应用身份验证方式。 1. **Forms身份验证**:Forms身份验证通过...

    2022年电子商务网站安全方案.docx

    而对于大型电子商务、银行、金融网站,其安全需求更为复杂,包括网站身份验证、交易数据加密、交易数据的不可抵赖性、用户身份验证及交易数据完整性。解决方案是部署全球信SSL企业版(TrueBusinessID)并为客户提供...

    《asp.net中的窗体身份验证(完整篇之三:用户登录页面)》源代码3

    博文《asp.net中的窗体身份验证(完整篇之三:用户登录页面)》中的源代码之三(http://blog.csdn.net/smallfools/archive/2009/05/28/4222155.aspx)

    实例ASP.NET基于表单的角色身份验证

    在ASP.NET中,基于表单的身份验证(Form-Based Authentication)是一种常见的用户认证方式,它允许开发者创建自定义登录页面来验证用户凭证,而不是依赖于服务器的默认机制。这种验证方式非常适合那些需要自定义用户...

    asp.net身份验证票源码

    主要有三种身份验证模式:Windows身份验证、Forms身份验证和Passport身份验证。在大多数Web应用中,Forms身份验证是最常用的,因为它允许非Windows环境下的用户认证。 身份验证票是Forms身份验证的核心组成部分。当...

    登录注册网站可以验证身份

    总结来说,登录和注册功能是网站基础架构的关键部分,涉及到用户身份验证、数据安全、用户体验等多个方面。实现这些功能需要理解Web开发的基础知识,包括数据库操作、网络安全、前端交互和服务器端逻辑。通过合理的...

    Q748830 的回答 ASP.NET MVC项目自动生成的身份验证中,权限怎么修改

    在ASP.NET MVC项目中,身份验证是管理用户访问权限的关键部分。默认情况下,项目会自动生成一套基本的身份验证系统,通常基于角色或基于声明。在实际应用中,可能需要根据业务需求对这些权限进行定制和修改。下面...

    网络身份验证收集.pdf

    - **.NET Passport身份验证**:微软的在线身份验证服务,允许用户在多个网站上使用单一登录。 - **基于Apache、Netscape等其他WEB服务器的身份验证**:支持这些服务器的特定验证机制。 - **基于ASP、PHP、CGI、...

    【ASP.NET编程知识】ASP.NET窗体身份验证详解.docx

    ASP.NET 窗体身份验证是 ASP.NET 中的一种身份验证机制,它可以帮助开发者保护网站的安全性并防止未经授权的访问。窗体身份验证是 ASP.NET 提供的一种身份验证类型,其他类型包括 Windows 身份验证、 Passport 身份...

    给网站创建服务端和客户端身份验证证书

    类似银行网站的客户端申请一个证书,用来标识自己的身份,与网站服务端证书匹配,可以将客户端证书放到usb-key里面,再也不需要花钱去买证书了,服务端证书可以安装在iis里,再也不需要微软操作系统安装证书服务了。...

Global site tag (gtag.js) - Google Analytics