网站的身份验证

news/2024/11/29 13:30:13/

网站的身份验证

左直拳

前段时间用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。如图所示

要求根目录下文件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/

http://www.ppmy.cn/news/856718.html

相关文章

Safari无法验证网站身份

升级到macOS 10.12 Sierra后, 最近使用safari访问一些网页总是弹出这个提示&#xff0c;弄的不胜其烦啊&#xff01; 如下图&#xff1a; 这就搞事情了&#xff0c;后来弄明白是什么原因了&#xff01; 证书发行商GlobalSign的证书问题导致多家网站的证书不被信任, GlobalSign…

浏览器请求状态码为空,谷歌net::ERR_INSECURE_RESPONSE, 火狐Network error安全性错误无法载入此资源 ,IE网络错误0x800c0019访问此资源的安全证书无效问题

这几天刚入职老板让我解决的一个跨域问题&#xff0c;解决一半之后发生了这个证书问题&#xff0c;由于项目是内网开发&#xff0c;而且上级已经无法下发新的证书&#xff0c;特此记录一下这个问题。 环境&#xff1a;linux下的nginx&#xff0c;前端 和 后台java代码部署在do…

提示您与该网站的连接不是私密连接怎么办?

怎么解决电脑显示“您与该网站的连接不是私密连接”&#xff1f;电脑打开网页提示不是私密连接的警告&#xff0c;这是什么原因造成的呢&#xff1f;该怎么解决&#xff1f;下面我们就来看看详细的教程 我们平时上网在浏览器内打开某个网址时可能会遇到页面报错提示&#xff1a…

关于浏览器提示“隐私设置错误/证书错误导航已阻止”之 网站证书过期解决方案

今天登录网站发现一直打不开&#xff0c;Google浏览器提示“隐私设置错误”就用IE浏览器打开&#xff0c;发现提示“证书错误导航已阻止”。查询相关信息后发现是证书过期导致的。下面就整理了一下网站证书过期的解决方案&#xff08;以本人的为例。本人使用的是阿里云服务器&a…

Windows, 使用https访问网页提示此网站的安全证书有问题解决方法

&#xfeff;&#xfeff; 平时我们会访问某些https加密网站&#xff0c;但在打开的过程中提示 “此网站的安全证书有问题&#xff0c;此网站出具的安全证书以过期或还未生效(如下图所示)”&#xff0c;导致不能正常访问安全站点&#xff0c;出现这种情况相信用户还以为该网站…

浏览器提示您与此网站之间建立的连接不安全的解决方法

有人多问我&#xff0c;自己的网站在浏览器打开后会显示一个“不安全”的标识&#xff0c;这让很多用户以为是钓鱼网站。不同的浏览器会显示不同的标识&#xff0c;但这些标识都是代表一个意思&#xff0c;那就是该网站不安全&#xff0c;鼠标移上去会显示“您与此网站之间建立…

浏览器提示“此网站的安全证书有问题“,你还敢继续访问吗?

有时候在浏览一些网站的时候&#xff0c;点进去的时候不是直接显示内容&#xff0c;而是弹出来一个警告的界面&#xff0c;告诉你此网站的安全证书有问题&#xff0c;浏览器是建议你不要再继续访问了&#xff0c;当然你也可以选择继续访问。那么&#xff0c;你还敢继续访问一个…

打开网站显示您与此网站建立的连接不安全怎么办?

上网看剧、购物等等已经成为我们生活中不可缺少的一部分&#xff0c;但有时我们打开浏览器浏览一些网站时&#xff0c;会弹出“网站连接不安全”的显示。 这是为什么?该怎么办? 其实&#xff0c;这是由于该网站使用了HTTP协议传输数据&#xff0c;浏览器警告用户谨慎访问此网…