成员关系和身份验证
今天学习了一些安全相关知识,明确了身份,身份验证以及授权的一些概念。对于站点的登录,ASP.NET2.0提供了一些强大的工具,帮助开发人员以最小的代价实现登录-身份验证-授权架构。在这一章中,学到了用于处理登录的服务器控件和ASP.NET Web Application Configuration实用工具。
Login控件,提供文本框,按钮和内建身份验证功能,使开发人员通过简单的拖放操作就可以向页面添加登录功能。
LoginView控件,该控件更具用户是否登录可以改变页面的外观,或者向不同群组用户显示不同的页面。
LoginStatus控件,该控件向用户显示反馈信息,提醒用户他们是否已经登录站点。
这些控件的使用都很简单,开发者几乎不需要编写任何代码就可以实现一个站点的登录功能。
今天还学习到的一个重要的东西就是Web Application Configuration工具的使用。该工具是VS提供的一个可视化的配置工具,当然开发人员完全可以自行写代码来完成相关的功能,不过这个工具可以简化你的工作。在这个工具里可以在安全选项卡里定义站点的可访问性,可以为站点新建角色,在角色里添加用户,从而实现不同的角色对站点实行不同的访问。在Web Applocation configuration里的配置会以代码的方式又VS自动写在 Web.config的XML文件里。而且会在App_Data文件夹里生成一个名为 AspNetDB.mdf的文件。
另外,为了实现个性化显示,LoginName服务器控件提供了在用户登录站点随即显示用户特定信息的功能。
身份验证:
1.Forms身份验证:要发出登录请求,需要在网页上填写一个表单,并将这个表单提交给服务器。服务器在接受该请求之后,将向用户的本地机器写一个Cookie,在后续的浏览中,浏览器每次发送请求时都会将该cookie送回服务器,这样用户就可以根据自己的希望保持身份验证状态。
2.Windows身份验证:登录页面讲用户证书发送到Web服务器(只能是IIS)。
3.Passport身份验证:登录证书讲被传送到某个Microsoft Passport服务器,这个服务器集中保存了用户的配置文件。