Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)delv
published in(发表于) 2014/1/23 3:11:59
ASP.NET开发经验(4):种简便地同时使用匿名与集成,Windows,验证的方法_[Asp.Net教程]

ASP.NET开发经验(4) --- 一种简便地同时使用匿名与集成 Windows 验证的方法_[Asp.Net教程]

  相对来说,集成 Windows 验证是 ASP.NET 提供的一种安全性较高的验证方式,不用考虑被 Sniffer、不用去创建登录页面、不用去考虑登录失败次数限制、更重要的是,不用在应用程序中提供用户管理的功能,以及如何保护数据库中的用户名和密码。

  经常会碰到这种应用场景:用户对一些普通功能可以匿名访问,对另外一些高级/管理功能,则需要登录后才能使用,很多人的做法就是将普通功能的页面放置在一个目录中,而高级/管理功能的页面则放在另外一个目录中,使用不同的 Web.Config 设置( 节)来控制,这样可能带来的一个问题就是:实现同样功能的页面可能要被复制两份,分别部署在这些目录中。


  如果全部页面只在一个目录中,有什么办法可以同时实现匿名和授权用户的访问呢?即如何在需要验证用户的时候,弹出那个集成验证的对话框。


  如果是基于 Forms 验证,则只需要手动调用(链接)一个 Login.aspx 就可以解决这个问题,但对于 Windows 集成验证来说,仔细查看了一下 WindowsAuthenticationModule 类,似乎没有找到可以编程控制来弹出 Windows 集成验证的那个对话框的方法。


  还是采取了一个土办法。













  这样就可以在原有页面中通过 User.Identity.Name 是否为空来检测用户是否登录,当然也可以在 Auth.aspx 中通过检查用户的 User.Identity.Name ,来进行一些其它的处理,如取出用户的权限、记录日志等。


  估计还有更好的方法,探寻中 ... ...


来源:moslem的blog







If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759