ASP.NET的Web.config文件中可配置哪些身份验证方式
http://rzchina.net/node/3210
Web.config文件中可配置的身份验证方式有Windows、Forms、PassPort、None。
Web.config文件中<authentication>节点,身份验证方式取决于该节点“mode”属性的设置。
1.None
None表示不执行身份验证。
2.Windows
IIS根据应用程序的设置执行身份验证,其中包含匿名身份验证、NTLM身份验证、base64编码身份验证等。此外,NTFS在文件和目录上的权限(访问控制列表)将决定对目录中资源的访问。
3.Forms
编程者创建一个用于登录的WEB窗体,然后在应用程序中用于验证所有浏览用户的身份。用户第一次访问程序中任何窗体都将被重定向到这个登录窗体,当用户登录成功后,其登录信息被存储在Cookie中,并转向所访问过的其他窗体。
4.Passport
Passport身份验证是通过Microsoft的集中身份验证服务执行的,它为成员站点提供单独登录和核心配置文件服务。
默认情况下,Web.config文件中<authentication>节点采用Windows身份验证。如果需要使用Forms验证方式,并指定登录窗体为项目根目录下的Login.aspx,修改<authentication>节点如以下代码所示。
<authentication mode="Forms">
<forms loginUrl="lg.aspx" name=".cookiename"></forms>
</authentication>
<authorization>
<deny users="?" />
</authorization>
在<authentication>节点下添加<forms>子节点即可设置Forms验证的各种细节,如“loginUrl”用于指定登录页面路径,“name”属性用于指定登录信息所存储Cookie的名称。为了使验证生效,必须配合<authorization>节点一起设置,在该节点下添加<deny>子节点,通过“users”属性设置拒绝所有非法用户。
说明:ASP.NET应用程序下每个子目录都可以有继承于根目录配置文件的Web.config文件,但一个应用程序只能有一个身份验证登录页面,即以上代码中<forms>子节点“loginUrl”属性所指定的页面。如果在子目录的Web.config文件中出现了<authentication>节点的配置,程序将出错,除非将此目录配置为虚拟目录进行访问。
相关文档:
在使用asp.net编写webservice时,默认情况下是不支持session的,但我们可以把WebMethod的EnableSession选项设为true来显式的打开它,请看以下例子:
1 新建网站WebSite
2 新建web服务WebService.asmx,它具有以下两个方法:
C#-Code:
[WebMethod(EnableSession = true)]
public string Login( ......
ASP.NET 运行机制总结
这些天看了一些关于ASP.NET底层的文章,受益匪浅。
为什么要了解这些底层呢?我觉得做为一个喜欢开发ASP.NET程序员,我不们不仅要知道“怎么做”,我们更应该知道“为什么这么做”,这样的我们才能做得更好。这 ......
本文介绍的这个功能是:禁用页面缓存的解决方法,适用于IE和FireFox浏览器下,在web开发中合理使用缓存可以有效的提高网站的性能,但是在某些场合下因为缓存的存在会带来很多的问题。例如:因为缓存的存在会造成重复提交数据的问题,验证码图片不能正确显示的问题,等等。这个时候我们就要禁用页面缓存的功能。&nbs ......
以下代码 使用.net FtpWebRequest 实现FTP的常用功能, 代码已经调试通过, 可复制直接使用。 经测试使用此种方式实现的FTP操作与直接使用命令的方式操作FTP要稳定许多。 有设计不好的地方请指正。
using System;
RYWo})E[3K Tg0using System.Collections.Generic;
}k'LQ BB-_d0using System.Text;ITPUB ......
IIS处理页面的运行机制:
IIS自身是不能处理像ASPX扩展名这样的页面,只能直接请求像HTML这样的静态文件,之所以能处理ASPX这样扩展名的页面,是因为IIS有一个ISAPI过滤器,它是一个COM组件。ASP.NET服务在注册到IIS的时候,就会添加一个Win32的扩展动态库aspnet_isapi.dll。并将扩展可以处理的页面扩展名(如ASPX ......