从今天开始,要做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文件里,
找到<authentication mode=”forms” />
其他的mode值有none,windows,passport
好了,问题解决了,这些题外话暂时不说了,要不然又是一大章
打开default.aspx,发现一些没有见过的语句
<%@ page language="c#" autoeventwireup="false" enablesessionstate="readonly"%>
<%@ register tagprefix="petscontrol" tagname="banner" src="controls/banner.ascx" %>
<%@ 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" %>
tagprefix
与命名空间关联的别名。
tagname
与类关联的别名。
namespace
与 tagprefix 关联的命名空间。
src
与 tagprefix:tagname 对关联的声明性用户控件文件的位置(相对的或绝对的)。
assembly
与 tagprefix 关联的命名空间所驻留的程序集。
注意 程序集名称不包括文件扩展名。
今天先了解一个一些概念的东东,明天继续