PetShop渐近记(1)

从今天开始,要做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今天先了解一个一些概念的东东  ,  明天继续
Published At
Categories with Web编程
Tagged with
comments powered by Disqus