从今天开始,要做WEB了,当然,有必要开始学习PetShop了
一、 安装
安装过程中需要输入的SQL SERVER的验证方式,这两种就不介绍了。进入后,打VS,并打开 PetShop 的工程项目,一运行提示如下错误:
?/MSPetShop?????????????
_ ?? 'NT AUTHORITY\NETWORK SERICE' ????? _
解决方法
第一步:把 'NT AUTHORITY\NETWORK SERVICE' 添加到 Administrator 组中
我的电脑 --> 右键 --> 管理 --> 本地用户和组
选择“组” --> 双击 Administrators--> 单击“添加” --> 单击“高级” --> 单击“立即查找” --> 在下面的列表中选择 Network Service 用户 --> 两次单击“确定” --> 加入。
第二步 在企业管理器中加入 NETWORK SERVICE 用户
打开 Sql Server 企业管理器 --> 选择数据库实例 --> 打开“安全性”节点 --> 选择“登录” --> 在右边的列表中单击右键 -- > 选择“新建登录” --> 在“常规”选项卡中单击“名称”旁边的按钮“ ... ” --> 选择“ Administrators ”组 -- > 单击下面的“成员”按钮 --> 选择“ Network Service ” --> 单击“添加”按钮 --> 单击“确定”,返回“新建登录”对话框 --> 保证身份验证类型为“ windows 验证” 和“允许访问” --> 单击“确定” --> 关闭“企业管理器”
忘了重要一点,要加上 mspetshop 这两个 DB 的访问权
第三步
重新运行 asp.net 程序,数据库连接字符串选择 windows 验证即可。
解决了吗?还不行?还是老实的再看看书 <<.Net 程序设计技术内幕 >>
嗯还是找找WEB的安全性话题吧
Asp.Net 在请求者在发出请求后就去验证请求者的合法性,以判断是否此请求合法
验证有三种
1. Windows 验证 : asp.net 向 IIS 寻求帮助。 IIS 对调用者的身份验证后,把调用者的身份告诉 Asp.net 。当然这种验证的结果会传给以后的每个请求,这种验证场合多为公司内部, Windows 验证的根本目标就是将传入请求映射到 WEB 服务器的用户帐户上,允许使用 OS 内置的安全机制,来保护文件和其他资源文件不被未授予权的用户非法访问
2. Passport 验证:依赖 MS 的 Passport 来验证用户身份,最好的例子就是 MSN 的,更多的情况大家还是去下载 Passport SDK , MS 网站上有
3. 窗体验证: 这种是依靠 WEB 页中的登录窗体来验证用户的。比如我们一般网站的登录窗体
疑问?那怎么让 Asp.Net 知道我是要哪种类型的验证呢,哦,在 Web.Config 文件里,
找到
1<authentication mode="”Forms”"></authentication>
其他的 mode 值有 None,Windows,Passport
好了 , 问题解决了 , 这些题外话暂时不说了 , 要不然又是一大章
打开 default.aspx, 发现一些没有见过的语句
1@ Page Language="c#" AutoEventWireup="false" enableSessionState="ReadOnly"
1@ Register TagPrefix="PetsControl" TagName="Banner" Src="Controls/Banner.ascx"
1@ Register TagPrefix="PetsControl" TagName="NavBarNoMenu" Src="Controls/NavBarNoMenu.ascx"
好了 , 解释一下
Page 指令的 AutoEventWireup 属性被设置为 true (或者如果缺少此属性,因为它默认为 true ),该页框架将自动调用页事件,即 Page_Init 和 Page_Load 方法。在这种情况下,不需要任何显式的 Handles 子句或委托。
很显然 , 这首页里 , 只是一个纯静态页界 , 不需要加载页面事件 , 故可为 false,
MSDN 的解释是如下
** enableSessionState **
|
|
指定是否启用会话状态。
---|---|---
|
** true **
|
指示会话状态已启用。
|
** false **
|
指示会话状态未启用。
|
** ReadOnly **
|
指定应用程序可以读取但不能修改会话状态变量。
第三行 ``` @ Register TagPrefix="PetsControl" TagName="NavBarNoMenu" Src="Controls/NavBarNoMenu.ascx"
1
2** tagprefix **
3
4与命名空间关联的别名。
5
6** tagname **
7
8与类关联的别名。
9
10** Namespace **
11
12与 ** tagprefix ** 关联的命名空间。
13
14** Src **
15
16与 ** tagprefix :tagname ** 对关联的声明性用户控件文件的位置(相对的或绝对的)。
17
18** Assembly **
19
20与 ** tagprefix ** 关联的命名空间所驻留的程序集。
21
22** 注意 ** 程序集名称不包括文件扩展名。
23
24今天先了解一个一些概念的东东 , 明天继续