网站的身份验证
网站的身份验证
网站的身份验证
左直拳
前段时间用ASP.NET做一个网站,其中有个要求是网站里有些页面或功能需要用户登录后才能浏览或使用。
应该没有什么问题,因为ASP.NET提供了完善的身份验证服务。
ASP.NET 与 IIS 一起使用以支持身份验证。有四种验证方式供君选择:None,Windows,Form以及Passport。Passport我不知道怎么用,而None又不知道有什么用,估计是逗你玩。用Form吧,系统会将未经身份验证的请求重定向到登录页,验证通过后,系统又自动转向此前请求的页面,正适合网站的要求。
“我,只用力士。”——国际影星娜塔莎·金丝姬。
现在问题是,怎样来控制哪些页面需要身份验证,哪些可以随便浏览?
身份验证在配置文件web.config里定义。在一个网站里,可能存在多个web.config。比如,根目录下有一个,某些子目录下又各有一个。按我的理解,web.config就好象面向对象里的类,具有继承和重载的特性,比如说,假设有个属性,子目录下的web.config没有重新定义,则继承根目录下的定义,否则以自己的定义为准。
这样子,针对我们这个网站的要求,只要在根目录下定义默认是允许所有人访问,然后再对特定的页面和子目录定义为拒绝匿名访问,不就搞定了吗?
假设有个网站web,其下有子目录s1,s2,文件default.aspx,info.aspx,login.aspx。如图所示
要求根目录下文件info.aspx、子目录s1需要经过身份验证才可浏览,其余可自由浏览,则根目录web.config定义如下:
这样子设置后,info.aspx,/s1/*.*都要先经过身份验证才可访问,否则,系统将自动转向登陆页面login.aspx。
假如子目录s1里有文件例外,例如welcome.aspx不需要身份验证,则在s1/web.config里定义
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~