TheBeerHouse网站项目学习笔记(3)----安全管理(上)
摘要: 安全管理是网站设计不可回避的问题,也是网站设计的重用组成部分.这些组成部分都需要对不 同的用户进行识别,检查用户是否有权限对那些受限制的网页进行访问,这种方法称为认证 (authentication).决定用户可以对哪些内容进行访问,这种方法称为授权(authorization).这两个概念容 易弄混淆,那么可以这么来理解: 认证---你是谁? 授权---我已经知道你是谁,你可以做什么?认证和授 权是网站成员权限管理的一部分,包括创建新用户,用户证书管理(包括密码保护机制,例如为遗忘密码的用 户进行密码恢复)以及与账户关联的角色管理.通过MS为我们提供的内置权限管理,我们可以快速建立整套 网站的权限管理系统.上篇主要讨论"你是谁",下篇主要讨论"我已经知道你是谁,你可以做什么" 那么我们接下来两篇就是着重讨论TheBeerHouse网站利用MS提供的内部权限管理机制(见开头必备文章 链接)进行的认证和授权管理. 首先来看认证管理,即解决"你是谁"的问题. 一.用户创建 首先通过界面右上登录密码下的 "Create new account "进入用户账户创建页面,如下图: 通过上述界面我们可以创建一个用户johnson,密码也是johnson.需要注意的是: 1. 这里注册界面不是 多个用单个控件(label和textbox)组成,而是使用了ASP.NET 2.0提供的成员权限管理的控件 CreateUserWizard 2. 此界面上注册信息比较单调,还有很多诸如国家,职业等信息在此界面创建用 户成功后弹出的下一个个性化信息界面得到设置,如下图: 设置好上述可选的信息后,单击最下方的"完成"按钮后,该用户就创建好了.创建好该用户后,系统自动 用该帐号登录到首页,并显示欢迎信息: 下面利用必备文章中介绍的知识进入用户管理界面( 停掉刚才运行的网站,在选中解决方案下的网站后 ,单击菜单"网站"-->"ASP.NET配置"),如下图: -----> 打开ASP.NET网站管理工具---> 安全 ---> 管理用户 ---> 在johnson用户后单击 "编辑 用户" ,可以看到该用户的基本信息和角色如下: 我们可以看到,系统默认建立的用户角色是posters,上述这么五个角色都是在此界面通过ASP.NET网站 管理工具建立得到的,利用如下查询命令可以在自定义数据库中得到所有用户的用户名,密码,以及角色,具 体见必备知识文章: 利用上面四个表联合查询可以得到所有用户信息,我们刚建立的johnson用户也在里面,见红色虚线框. 十个用户产生了二十条记录,那是因为同一个用户可以具有多个角色的缘故. 我们可以看到,密码全部经过加密处理,这里的加密方法是对称加密(symmetric encryption)法,该方法 使用系统保护密码对所有用户密码加密.这是一种双向加密,可以对密码加密,也可以对其解密.对于用户而 言,能够将忘记的密码通过电子邮件发送. 上述解决了认证的第一个问题:创建用户,那么接下来讨论认证的第二个问题---认证过程. 二. 帐号认账过程 首先看看配置文件web.config中配置节的代码 <authentication mode="Forms"> <forms cookieless="AutoDetect" loginUrl="~/AccessDenied.aspx" name="TBHFORMAUTH"/> </authentication> Forms表示本网站采取表单认证方式,而不是Windows方式,如果用后者认证,那么也就是登录了Windows 的用户就可以登录网站了,显然在这里是不可取的.那么表单认证方式需要用户提交各种票据,比如用户名 和密码等信息,系统判定正确后方可登录. AccessDenied.aspx页面从名称就可以知道这是当用户访问一个受保护的页面时所要跳转到的页面,通 俗讲就是当用户名/密码输入不正确或访问某个页面的权限不够时自动跳转的页面. 下面介绍该页面的效果图和 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |