年轻的我's profile我的天空PhotosBlogListsMore ![]() | Help |
|
|
8/10/2008 用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败 另一种解决方法在Web.config中,或者IIS的Asp.net配置中,删除Integrated Security=True,即可。 研究了东方之星给学校做的各种系统后,得出以上结论。 7/31/2008 用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败,参考下面链接解决
文章内容如下:
用户 'nt authority\network service' 登录失败。
说明: 执行当前 web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: system.data.sqlclient.sqlexception: 用户 'nt authority\network service' 登录失败。
解决办法:
当连接sql server使用信任连接时就会出这个错误,在Windows XP当中,ASP.NET的运行帐号是ASPNET,而在Windows server 2003当中,运行帐号则改为了Network Service,直接把这个用户加到sql server的登陆帐号里面就好了,这样很多例子就不用去改连接字符串了! (可能原因) 测试环境:win2003,sqlserver2000+sp4
1> sqlserver 调成sql server 和windows验证模式
2>
(以下方法仅供参考) 第一步:把'NT AUTHORITY\NETWORK SERVICE' 添加到Administrator组中 我的电脑-->右键-->管理-->本地用户和组 选择“组”-->双击Administrators-->单击“添加”-->单击“高级”-->单击“立即查找”-->在下面的列表中选择Network Service用户-->两次单击“确定”-->加入。 第二步 在企业管理器中加入NetWord Service用户
打开Sql Server企业管理器-->选择数据库实例-->打开“安全性”节点-->选择“登录”-->在右边的列表中单击右键-->选择“新建登录”-->在“常规”选项卡中单击“名称”旁边的按钮“...”-->选择“Administrators”组-->单击下面的“成员”按钮-->选择“Network Service”-->单击“添加”按钮-->单击“确定”,返回“新建登录”对话框-->保证身份验证类型为“windows验证”和“允许访问”-->单击“确定”-->关闭“企业管理器” 第三步
重新运行asp.net程序,数据库连接字符串选择windows验证即可。 3> 在sqlserver中添加帐户或IIS_WPG工作组 Asp.net2.0使用Sql Server 2000数据库装系统时先IIS,再Sql和VS(这两个也有个顺序,我是先装的VS后Sql2000,运行时出了问题,后来解决,也许先Sql后VS能好些?)
建站时,运行aspnet_regsql,在Sql2000中生成一个Asp.net用数据库,使用数据源控件时,将这个数据库配置即可——此时web.config已经自动修改。
在使用角色时,在<system.web>字段中加入如下代码:
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
<providers> <clear /> <add name="SqlProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="northWindConn" applicationName="northWind" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" requiresUniqueEmail="true" passwordFormat="Hashed" /> </providers> </membership> <roleManager defaultProvider="SqlProvider"
enabled="true" cacheRolesInCookie="true" cookieName=".ASPROLES" cookieTimeout="30" cookiePath="/" cookieRequireSSL="false" cookieSlidingExpiration="true" cookieProtection="All" > <providers> <add name="SqlProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="northWindConn" applicationName="northWind" /> </providers> </roleManager> 注意:原文件中已有一句<roleManager enabled="true" />,删除,以免混乱。
connectionStringName和applicationName根据具体情况修改。 GridView控件,将上传的文件删除GridView控件,将上传的文件删除,
使用的是GridView控件的RowDeleting事件,文件名来自Label,label被隐藏,cs代码如下:
protected void filelist_GridView_RowDeleting(object sender, GridViewDeleteEventArgs e) { int index = e.RowIndex; String str = ((Label)filelist_GridView.Rows[index].FindControl("Label_filename")).Text; string path = Server.MapPath("~/uploadfiles/" + "/") + str;//获取基于应用应用程序根文件夹的绝对路径 File.Delete(path); } 4/14/2007 Asp.net自学感受(3) Asp.net的用户问题基本搞定了,不深入研究类(没时间研究了)倒是挺简单,呵呵。
目前最头疼的是session问题,总是不能根据登录的用户名来显示该用户的文章,已经熬了半个多月了,没有什么进展,无奈!CSDN论坛上也没有人理睬,哎。今天又研究了一下,好像是我的web.config设置的问题,但愿问题出在这里...... 2/24/2007 Asp.net自学感受(2) 毕业设计的外观部分已经OK,近日开始制作后台部分,如果说前台的界面有时让人犯难,那么后台的程序简直让我崩溃,完全超乎我的想想,又是Web.config,又是Membership,还有数据库,看样子是要用Express版的SQL一段时间了。
除此之外,等搞清楚了用户,就得整Session和Cookie了,也不见得简单,哎! 2/15/2007 Asp.net自学笔记(2)文本换行:
.cs文件
protected String FormatArt(string TString) { if (TString != null) { TString = TString.Replace("\r", "<br>"); TString = TString.Replace(" ", " "); return TString; } else { return TString="无内容"; } } .aspx文件 <%@ Import Namespace="System.Data" %> Text='<%# FormatArt(((DataRowView)Container.DataItem)["content"].ToString()) %>' 2/8/2007 Asp.net自学笔记(1)这几日在家自学asp.net,把常用的控件学完之后,自己试着把以前用Dreamweaver+asp做的网站改成.net的,几乎所有的代码都要手动完成,稍微有点晕,好在整个框架以前几经出来了,只是关键的.net控件要试探着一点点地添加。
笔记:
1、网站导航条问题
这是开始最头疼的问题,Menu控件虽好,但是它需要的Web.sitemap文件好像不能动态添加(至少我还没学到怎样动态添加),和我以前的想法和要求差距太远,GridView控件虽好,但是不能将数据横向写(据说可以,但是我不会,也没找到代码),愁了很久,前天都打算放弃了,昨天试了试Datalist控件,居然可以横向排列数据,然后编辑模版,将Label删掉,手动添加一个HyperlinkField,然后再进行具体设置就OK了。
2、《Asp.net2.0应用开发技术》书上说避免使用Page.DataBind和DataBinder.Eval:
不使用<%# DataBinder.Eval(Container.DataItem,"字段")%>
而使用<%# ((DataRowView)Container.DataItem)["字段"]%>
如果这样用会提示命名空间如何如何***,CSDN上查了一下,在.aspx文件中要加入<%@ Import Namespace="System.Data" %>才行。
3、限制显示字符数
通过函数方式解决:
在.cs文件中定义一个函数
public string Content(object article)
{ string content = (string)article; if (content.Length > 20) content = content.Substring(0, 19) + ".."; return content; }//Content 然后再.aspx文件中找到需要的位置(把GridView的HyperLinkField转换为TemplateField,然后自定义ItemTemplate,添加HyperLink)把Text属性改为:Text='<%# Content(((DataRowView)Container.DataItem)["article_title"]) %>'; 最后,在.aspx文件中加入<%@ Import Namespace="System.Data" %>即可。 1/30/2007 Asp.net自学感受(1) 看了几天Asp.net2.0的书,晕晕的感觉,最大的感触就是:以前用Dreamweaver做网页,布局用的<table><tr><td>,好像很少在.net里面出现,取而代之的是<div>,感觉网页制作的一切都要从头学起,略感郁闷!
另外,手上这两本Asp.net2.0的书,虽然都是畅销书,但对我好像不是太适合: 《Asp.net2.0开发指南》,书很厚,内容也不错,可是其内容的顺序我有点不适应;
《Asp.net2.0应用开发技术》,顺序比较符合我的状态,但是感觉代码太多,有时可以通过鼠标拖拽就能生成的代码,书上全是手工编辑,害得我跟着敲了好几天的代码(不过可能这也是个锻炼),可能作者水平太高,或者我还没有达到看这本书的层次吧。
不过两本书结合起来看好像还可以,相互参照,倒也不错,呵呵。 |
|
|