下面就是小编整理的windows 服务之WEB高级应用(共含10篇),希望大家喜欢。同时,但愿您也能像本文投稿人“颜色”一样,积极向本站投稿分享好文章。
一:建立虚拟主机
·对于一个小型企业,可以用2003架构一个Web站点,但如果有两个或者更多Web站点该怎么办?是不是再买一台2003服务器来架构Web站点?不用的,只需在一台2003上架两个Web站点,通过配置虚拟主机来完成要求(什么是虚拟主机?在一台2003服务器上运行多个网站,这些网站就成为虚拟主机。)
那么一个服务器上有两个网站,用户如何访问这两个网站呢?可以有三种方法。
1>两个网站使用不同的IP地址。这样用户在访问第一个网站需在浏览器中输入192.168.100.1,访问第二个网站需在浏览器中输入192.168.200.1。(假设的)
2>两个网站使用相同的IP,但使用不同的端口号。这样用户在访问第一个网站时需在浏览器中输入192.168.100.1,访问第二个网站时需在浏览器中输入192.168.100.1:81
3>两个网站使用相同的IP和端口号,但给第二个网站使用一主机头,这样用户在访问第一个网站是按需在浏览器中输入192.168.100.1,访问第二个网站时需在浏览器输入主机头。
·新建一Web的站点
在“internet信息服务(IIS)管理器”窗口中双击“网站”图标,并右击“默认网站”,选择“新建”------“网站”。此时打开了“网站创建向导”窗口,点击下一步,开始创建信的网站
输入网站的描述信息,接着点击下一步
在IP地址设置中有三种设置方式,网站IP地址、网站TCP端口、此网站的主机头。可根据需要自行选择
输入此网站的网页文件所在目录
设置网站访问的权限,一般不需要“写入”权限。点击下一步,完成新网站的创建。
·配置不同IP地址的站点另一种方法
具体方法:
在“IIS服务管理器”中,右击新建的网站(电影服务),选择属性,并在“网站选项卡”下更改IP地址
·配置不同端口的站点另一种方法
具体方法:
在“IIS服务管理器”中,右击新建的网站(电影服务),选择属性,并在“网站选项卡”下更改端口为不同的值,如81。
·配置不同主机头
具体方法:
在“IIS服务管理器”中,右击新建的网站(电影服务),选择属性,在“网站选项卡”下点击ip地址后的“高级”,并在弹出的“高级网络标识”窗口中点击“编辑”按钮,
接着在弹出的“添加/编辑网络标识”窗口中“主机头值”。
设置完主机头后还需要配置DNS服务器,添加主机头值的主机记录,是客户端能够解析出主机头的IP地址,就可以使用“主机头”访问网站。
二:WEB站点的排错
·客户机访问WEB站点的过程
1>当客户机访问网站时,服务器先检查客户机IP地址是否授权
2>然后检查用户和密码是否正确(匿名用户不需要密码)
3>接着检查主目录是否设置了“读取权限”
4>最后检查网站文件的NTFS权限
·常见错误
1、错误号403.6
分析:
由于客户机的IP地址被WEB网站中设置为阻止。
解决方案:
打开站点属性->“目录安全性选项卡”->“IP地址和域名限制”->点击“编辑”按钮,并将拒绝的IP段删除。
2、错误号401.1
分析:
由于用户匿名访问使用的账号(默认是IUSR_机器名)被禁用,或者没有权限访问计算机,将造成用户无法访问。 又或者IIS中设置的匿名用户密码不正确
解决方案:
(1)查看IIS管理器中站点安全设置的匿名帐户是否被禁用,如果是,请尝试用以下办法启用:
控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用。如果还没有解决,请继续下一步。
(2)查看本地安全策略中,IIS管理器中站点的默认匿名访问帐号或者其所属的组是否有通过网络访问服务器的权限,如果没有尝试用以下步骤赋予权限:
开始->程序->管理工具->本地安全策略->安全策略->本地策略->用户权限分配,双击“从网络访问此计算机”,添加IIS默认用户或者其所属的组。
注意:一般自定义 IIS默认匿名访问帐号都属于组,为了安全,没有特殊需要,请遵循此规则。
(3)在计算机管理中给用户重新设置密码,然后在IIS“目录安全性”选项卡下修改IUSR_机器名账号密码
3、错误号401.2
原因:关闭了匿名身份验证
解决方案:
打开站点属性->目录安全性->身份验证和访问控制->选中“启用匿名访问”,输入用户名,或者点击“浏览”选择合法的用户,并两次输入密码后确定。
4、错误号:401.3
在安装Windows 2000时,如果用户选择了安装IIS 5.0,系统会自动创建一个HTTP站点和一个FTP站点供使用,IIS预设的Web站点和FTP 站点发布目录也被称之为主目录,其Web站点的主目录的路经是\Inetpub\Wwwroot,FTP站点的主目录的路径是\Inetpub\Ftproot。对于Web站点来说,如果您的本地网络中带有诸如DNS的一个命名解决系统,那么其他访问者只需在浏览器地址下拉列表框中简单地输入您的计算机名就可以访问您的站点;但是,如果您的本地网络中没有带诸如DNS 的一个命名解决系统,那么其他访问者必须在地址下拉列表框中输入您的计算机的I P地址才能访问。对于F T P站点来说,如果您的本地网络中带有诸如DNS 的一个命名解决系统,那么其他访问者需在地址下拉列表框中简单地输入:FTP://用户的计算机名,就可以访问您的站点;但是,如果您的本地网络中没有带诸如DNS 的一个命名解决系统,那么其他访问者必须在地址下拉列表框中输入: FTP//用户计算机的I P地址,才能访问。
如果用户在安装Windows 2000时没有选择安装IIS 5.0,并需要创建Internet信息服务器,则可使用控制面板中的“添加/删除程序”向导来安装此组件,过程如下:
1. 打开“开始”菜单,选择“设置” |“控制面板”命令,打开“控制面板”窗口,双击“添加/删除程序”图标,打开“添加/删除程序”窗口,
2. 在左边列表栏中,单击“添加/删除Windows组件”按钮,然后单击“组件”按钮,安装程序开始启动,启动之后打开“ Windows 组件向导”对话框。
3. 单击“下一步”按钮,打开如图1 4 - 1所示的“Windows 组件”对话框,然后启用“组件”列表框中的“Internet信息服务(IIS)”组件前的复选框。
4. 单击“下一步”按钮,系统即可进行IIS 5.0的安装,同时打开如图1 4 - 2所示的“正在配置组建”对话框。
5. IIS 5.0的安装完成之后,向导进入最后一步,单击“确定”按钮即可。
关 键 字:邮件 服务器
关键词:ADSI, Component, ASP, IIS 摘要:本文简要介绍了ADSI的特性,并通过实例介绍了如何利用ADSI 开发 基于WEB的 Windows NT管理程序, ADSI(Active Directory Service Interface)是Microsoft公司推出的允许客户以同一种界面管理不同目录服务的应用接
关键词:ADSI, Component, ASP, IIS
摘要:本文简要介绍了ADSI的特性,并通过实例介绍了如何利用ADSI开发基于WEB的WindowsNT管理程序。
ADSI(Active Directory Service Interface)是Microsoft公司推出的允许客户以同一种界面管理不同目录服务的应用接口,它凭借强大的功能、简单的操作很快得到了广泛的应用。那么,ADSI究竟是怎样的东西,又如何利用呢?
首先,要明白什么是Active Directory(活动目录)。
Active Directory是未来的Windows中包含的一种目录服务,它扩展了以前版本Windows中目录服务的特性,并增加了一些全新的功能。活动目录具有安全、可分布、可分区、可复制等特点。它的设计方式可以很好地工作在各种设置上,不管是有几百个对象的单机还是由上百万个对象的服务器组。活动目录的新特性,是管理者和最终用户都可以操纵、管理大量的信息。
ADSI是一系列访问各种存储方式的数据的编程接口,在Microsoft目前的产品中,Windows NT4.0Server,Exchange,IIS,Site Server支持这种接口,在NT5.0种,ADSI将成为操作系统的接口并有可能取代注册表。采用这种借口,可以访问操作系统的所有配置信息。
ADSI认为任何数据都存为面向对象的数据库。通过ADSI,你不要掌握类似SQL一类的查询语言,与传统的数据库相比,对面向对象的数据库变成更加简单:在传统的数据库中,编程者必须理解一个对象怎样存储,在ADSI中,编程者只需知道对象的名字就可以访问它。
有很多种语言可以用来对ADSI进行编程,Visual Basic,VBScript,Java,C,C++都可以访问ADSI;由于Active Server Pages和VBScript与其结合的非常好,所以可以很容易写出访问目录服务的Internet应用程序。在Internet应用程序中,可以使用.asp文件在服务器上创建、操纵ADSI对象,并将其结果显示在Web页上。
来看一个简单的例子:
生成一个包含以下代码的ASP文件:
<%
strMachineName = “localhost” 'domain name
strObjectPath = “W3SVC/1” 'object name
'construct object location in IIS
strPath = “IIS://” & strMachineName & “/” & strObjectPath
Set IISObject = GetObject (strPath) 'connect to IIS metabase
%>
Name = “<%= IISObject.Name %>”
Parent= “<%= IISObject.Parent %>”
SchemaLocation = “<%= IISObject.Schema %>”
Class = “<%= IISObject.Class %>”
Guid = “<%= IISObject.Guid %>”
ADSPath = “<%= IISObject.AdsPath %>”
用浏览器浏览,输出结果如下:
Name = “1”
Parent= “IIS://localhost/W3SVC”
SchemaLocation = “IIS://localhost/schema/IIsWebServer”
Class = “IIsWebServer”
Guid = “”
ADSPath = “IIS://localhost/W3SVC/1”
注意,如果要运行上面这段代码,登录用户必须拥有IIS的管理员权限,为了使这种应用更具有普遍性,可以将程序做成组建安装在服务器上。这里,举一个例子,做一个通过对ADSI编程修改Windows NT用户口令的组件。
1、打开VB5.0 或 6.0 ,新建一个ActiveX DLL
2、将工程命名为 PasswordChanger,将缺省的类模块命名为 Main.
3、将类Main的instancing属性改为:5-MultiUser
4、将工程的线程模块设为:单元线程
5、设定Microsoft Active DS Type Library(activeds.tlb)
6、保存工程,将类命名为:Main.cls,工程命名为PasswordChanger.vbp.
7、在类的代码窗口中加入以下代码:
Option Explicit
' 修改口令
Public Sub SetPassword(ByVal pstrUser As String, _
ByVal pstrOldPassword As String, ByVal pstrNewPassword _
As String, ByVal pstrConfirmPassword As String)
Dim adsUser As IADsUser
Dim strDialogText As String
On Error GoTo ChangePasswordErrorHandler
'用户名不能为空
If pstrUser vbNullString Then
'口令不能为空
If (Not (pstrOldPassword = vbNullString)) And _
(Not (pstrNewPassword = vbNullString)) Then
'两次必须输入相同的口令
If (Not (pstrNewPassword pstrConfirmPassword)) Then
' 设定 ADSI 提供者为 WindowsNT
' (domain 为主域)
Set adsUser = GetObject(“WinNT://domain/” & pstrUser & “,user”)
' 调用 ADSI ChangePassword 方法
adsUser.ChangePassword pstrOldPassword, pstrNewPassword
' 在浏览器端产生 HTML 对话框
strDialogText = “”“成功修改用户 ” & pstrUser & _
“ 的口令.”“”
Call CreateAlertMarkup(strDialogText)
Else
' 在浏览器端产生 HTML 对话框
strDialogText = “”“New/Confirm passwords are different.”“”
Call CreateAlertMarkup(strDialogText)
End If
Else
' 在浏览器端产生 HTML 对话框
strDialogText = “”“A value for Old/New passwords is required.”“”
Call CreateAlertMarkup(strDialogText)
End If
End If
Set adsUser = Nothing
Exit Sub
'**********
ChangePasswordErrorHandler:
'
'在浏览器端产生提示 “错误” 对话框
strDialogText = “”“用户 ” & pstrUser & “的口令无法修改.\n\n”
strDialogText = strDialogText & “1. 新口令不能 ” & _
“与以前的口令相同\n”
strDialogText = strDialogText & “2. 口令必须为 ” & _
“8-14个字母长.\n”
strDialogText = strDialogText & “3. 口令至少要包含 ” & _
“以下情况下的3个字母:\n”
strDialogText = strDialogText & “ - 英文大写字母 (A-Z)\n”
strDialogText = strDialogText & “ - 英文小写字亩 (a-z)\n”
strDialogText = strDialogText & “ - 阿拉伯数字 (0-9)\n”
strDialogText = strDialogText & “ - 其他字符” & _
“ (例如标点符号)\n”
strDialogText = strDialogText & “4. 口令中不能包含你的用户名 ” & _
“或你名字的任何一部分”“”
Call CreateAlertMarkup(strDialogText)
End Sub
' 产生JavaScript警告对话框
Private Sub CreateAlertMarkup(pstrDialogText As String)
Dim strScriptingLanguage As String
strScriptingLanguage = “”“JavaScript”“”
objResponse.Write vbCrLf
objResponse.Write (“”) & vbCrLf
End Sub
8、编译这段代码,生成PasswordChanger.dll.
9、将产生的PasswordChanger.dll文件拷贝到 WINNT\SYSTEM32目录下,
10、在dos提示符窗口中执行以下命令:
regsvr32 PasswordChanger.dll
系统将弹出一个对话框,告诉你登记组件成功。下面,需要写一个ASP文件来调用这个组件。
<%
' declare variables
Dim objReference
Dim strUser
Dim strOldPassword
Dim strNewPassword
Dim strConfirmNewPassword
' obtain form. values
strUser = Request.Form(“txtUser”)
strOldPassword = Request.Form(“txtOldPassword”)
strNewPassword = Request.Form(“txtNewPassword”)
strConfirmNewPassword = Request.Form(“txtConfirmNewPassword”)
if strUser“” then
' create object
Set bjReference = Server.CreateObject(“PasswordChanger.Main”)
' change the password
Call objReference.SetPassword(strUser,strOldPassword,strNewPassword,strConfirmNewPassword)
' release object reference
Set bjReference = Nothing
end if
%>
修改NT用户口令
修改NT用户口令
User:
Password:
New Password:
Confirm Password:
style=“font-FAMILY: ; HEIGHT: 24px; WIDTH: 149px” type=submit value=“Change Password”>
将此文件命名为changepwd.asp,在浏览器中运行,输入数据测试一下,怎么样,用户的口令是否已经修改了?
通过以上的例子可以看出,ADSI的确具有很强大的功能,操作也非常简单,结合ASP和VB,一定可以开发出功能更强大的Internet应用程序。
原文转自:www.ltesting.net
近年来,企业应用集成(EAI)供应商一直试图解决集成带来的挑战,他们推出了一系列的专有适配器和集成服务器,虽然EAI的解决方案是有效的,不过这可能在开始阶段需要在硬件、软件和培训方面进行大量的投资。而另一中更具成本效益的集成选择是使用Web服务,这是一套新兴的标准,使得各种各样的IT过程和系统之间实现互操作性。
市场研究机构Gartner公司高级分析师Daryl C. Plummer表示,Web服务是通过标准的互联网技术交付的松耦合的软件组件。Web服务是平台和供应商独立的协议,能够使来自不同数据源的应用通过一个公共的XML文档格式互相交流数据和信息,同时没有浪费时间的自定义编码。使用Web服务,可以让 IT部门更侧重于建设基于标准的应用基础设施,而不是专有技术---这是创建一个更加灵活的企业架构的重要基础。
使用Web服务集成CRM应用可以在许多方面给企业带来好处。使用Web服务进行集成的企业有可能对于市场变化和竞争压力变得反应更快和更有效率。通过重用组件,Web服务既能减少应用集成的成本,又可以帮助企业解决系统互用性的挑战。Web服务也为信息和数据共享建立了一种共同的格式,从而使企业能够克服系统不兼容的问题,并能有助于更快的被用户所接受。
Web服务可以帮助一个企业以一种更具成本效益和更有效率的方式把按需定型(On-Demand)自助式应用和交互式语音应答(IVR)系统同企业的核心CRM应用集成在一起。这使得企业能够无缝地在自助式工具和模块与CRM应用之间交换数据和信息,而不需要经历一个漫长而复杂的集成过程。
虽然Web服务提供了一种有效的集成机制,不过任何事情都既有好的一面也有不好的一面,Web服务确实也有一些缺点。比如,因为相互依存性和定制化是不太容易实现的,因而Web服务的用户界面不是很灵活。而且,它是一个相对较新的技术,因此,它的标准和规范都仍在进一步发展之中。作为一个基于HTTP的协议,Web服务还容易受到安全性威胁并且必须使用认证机制和SSL加密技术才能进行部属。
Web服务是如何帮助CRM应用集成的
使用Web服务整合任何两个应用都需要需要一个面向服务的架构(SOA)。Web服务是通过一个应用服务器环境交付的,而SOA可以对这些服务进行约束。Web服务器可以提供访问Web服务的HTTP网络传输,而应用服务器则负责托管简单对象访问协议(SOAP)的接口。 Web服务还提供了组成服务的对象组件,而对象组件则提供应用之上的商业服务层。最终的结果是Web服务提取底层的应用,在明确定义的业务流程中提供独特的援助服务。
以下步骤构成一个使用Web服务集成CRM应用的标准过程。集成过程的持续时间会由于应用的不同而不同,主要取决于业务单元的数量和需要部署的Web服务的数目,
同样地,任何两个应用的集成部署步骤和过程也是不同的,不过,处理数据所使用的方法和技术将是一样的。下面列举了一些集成CRM应用的技术准则,请务必记住。你可以根据实际情况灵活应用:
◆SOAP数据处理应该使用扩展标记语言(XML);XML是能够提供标准数据和信息表示方式的一种语言。
◆SOAP通用描述、发现和集成(UDDI)应该被用于列出和定位应用。UDDI是一个“目录标准”,目前有一些应用工具把它作为一种内置服务提供给用户在集成时使用。
◆SOAPWeb服务描述语言(WSDL)文件应该从数据应该被发往的第三方应用中获取。WSDL是一个“描述标准”,一个应用程序可以使用WSDL来描述它与的用户界面以及与其它应用的互动规则。在表现形式上,WSDL的是一个XML文件,该文件描述了一个Web服务,它指定了服务的位置以及服务(或方法)暴漏给外界的操作。一个WSDL文件还可以包含其它元素,比如扩展要素和服务元素,它们用来在一个单一的WSDL文件中把多个Web服务的定义聚合在一起。
◆SOAP在每个应用提供的专有工具的帮助下使用WSDL并且生成XML消息以满足所需的数据结构。
◆SOAP使用SOAP协议传输XML数据,SOAP是一个轻量级的信息交换协议。同时,SOAP还是一种基于XML的协议,由三个部分组成:一个协议框架、一套编码规则和一套表示规则。协议框架描述了信息中包含什么内容以及如何处理这些内容;编码规则主要用于表示应用程序定义的数据类型实例;表示规则主要用于代表远程过程调用和响应。
◆SOAP可以被像HTTP或者HTTP扩展框架(HTTP Extension Framework)这样的协议中。HTTP通信协议有助于使用上面提到的XML数据查询第三方应用程序或者与第三方应用程序互动。
如何使用Web服务开始进行CRM集成
如果你正在考虑使用Web服务作为你的CRM部署工作的一部分,第一步是要分析现有的应用服务器、应用程序开发环境以及它们与Web服务的扩展能力。
其次,在使用Web服务着手进行应用集成项目之前,分析和评估的数据在多个客户管理系统中的数据。
一旦这些步骤完成后,你就已经为使用Web服务集成CRM应用做好了准备。虽然Web 服务技术仍在逐渐走向成熟,不过在绝大多数的CRM应用集成中它已被证明是非常成功的。
近年来,很多企业应用集成(EAI)供应商都提供专有的适配器和集成服务器工具集,试图解决企业应用集成过程中面临的挑战,虽然EAI解决方案很有效,不过,在硬件、软件和培训方面,它们可能需要大量的初始投资。而使用Web服务以及一套新的标准进行企业应用集成是一种更具成本效益的选择,它们能够满足各种IT系统和流程的互操作性的需求。
著名研究机构Gartner公司的资深分析师Daryl C. Plummer表示,Web服务是通过标准的互联网技术发布的松散耦合的软件组件。Web服务所使用的协议是独立于平台和供应商的,来自不同来源的不同应用彼此可以通过一个公共的XML格式进行交流,无须耗费大量时间进行自定义编码。使用Web服务可以让IT部门更见专注于建设以标准为基础的应用基础设施,而不是专有技术---这是创建更加灵活的企业业务应用的重要。
使用Web服务集成CRM应用可以让企业在很多方面受益。总的来说,使用Web服务进行应用集成的企业有可能会变得更有效率,并且更快地应对市场变化和竞争压力。 Web服务使得组件能够重用,减低了应用集成的成本,有助于企业解决系统互用性方面的挑战。Web服务还未共享信息和数据建立了一个共同的格式,这使企业能够克服系统不兼容的问题,并有助于达到更快的用户普及率。
Web服务可以帮助企业按照一种最具成本效益的方式高效地将按需定制型自助应用和交互式语音应答(IVR)系统与核心CRM应用软件集成在一起。它们使企业能够在自助式工具、模块以及CRM应用之间无缝地交流信息,不需要进行一个漫长而复杂的集成进程。
虽然Web服务提供了有效的集成机制,不过,这种方式确实也有一些缺点。由于用户界面非常灵活再加上相互依存性,定制是非常不容易的。并且Web服务是一个相对较新的技术,因此,它使用的标准和规范仍然在不断变化。作为一个基于HTTP的协议,Web服务也容易受到安全方面的威胁,所以必须要使用认证机制,并采用SSL加密技术。
Web服务如何支持CRM应用集成
使用Web服务集成任何两个应用程序都需要有一个面向服务的架构(SOA)。SOA捆绑了服务,而这些服务是由一个应用服务器环境发布的。Web服务器是访问这些服务的HTTP网络传输器,而应用服务器则托管了简单对象访问协议(SOAP)接口。Web服务还提供了组成服务的对象组件,这些对象组件提供了位于应用之上的业务服务层。最终的结果是Web服务抽取了提供不同服务的基本应用,而这些服务有助于明确定义企业业务流程。
下面的这几个步骤构成了使用Web服务集成CRM应用软件的标准过程,
集成项目所需要的时间和期限随着CRM应用的不同而不同,因为这依赖于需要集成的业务实体的数量以及需要开发的Web服务的数量。同样,部署过程和步骤也会由于需要集成的应用的不同而不同,但是处理数据所使用的原理和技术将保持不变。以下就列出了一些技术要点:
数据处理应该使用可扩展标记语言(XML)格式,XML是一种标准的数据和信息表示方式。
通用描述、发现和集成( UDDI)应该用于列举和定位应用。UDDI的是一个“目录标准”,一些应用工具在集成过程中将UDDI作为内置的服务向用户提供。
Web服务描述语言(WSDL)文件应该从第三方应用程序获得,数据应该发送给第三方应用程序或者从第三方应用程序检索数据。WSDL是一种“广义标准”,主要用于某个应用程序在向其它应用程序描述自己的接口和通讯规则。WSDL文档是用XML语言编写的;该文件对Web服务进行描述,定义了服务的位置和服务提供的操作(或方法)。WSDL文件还可以包含其它内容,比如扩展元素和服务元素,用户可以利用这些扩展和服务元素将多个Web服务的定义集合在一个单一地俄WSDL文件中。
将WSDL与每个应用程序提供的专有工具配合在一起使用,生成能满足数据结构需要的XML消息。
然后使用SOAP传输XML数据,SOAP是一个用于数据交换的轻量级协议,它是XML并且由三部分组成:一个信封、一套编码规则、一个公约。信封定义了一个框架,描述了消息包含什么内容以及如何处理;编码规则描述了定义应用所用的数据类型;公约提供了一种表示远程过程调用和响应的方法。
SOAP的可用于HTTP协议和HTTP扩展框架这样的协议。使用上面提到的XML,HTTP通信协议有助于张贴或查询第三方应用程序。
如何开始使用Web服务集成CRM系统
如果你考虑使用Web服务作为CRM集成的一部分,那么你要做的第一步是分析现有的应用服务器、应用开发环境以及它们扩展Web服务的能力。
其次,在将Web服务用于CRM集成之前,分析和评估存在于多个客户管理系统中的数据。
一旦这些步骤完成之后,你就已经为使用Web服务集成CRM应用做好了准备。虽然Web服务技术仍然处于完善过程中,不过实践证明,非常适合于大多数CRM应用集成项目。
前几篇我们讲了活动目录的基本原理和安装配置,着重讲了一些活动目录的优越性,但它并不是一个独立的服务,它是在结合以前的一些协议和服务之后才得以成功实现,如DNS、LDAP协议与活动目录的完美结合、站点概念的应用等都是非常突出的明证,下面我们就分别介绍一下这几个应用技术。
一、DNS在活动目录中的应用
WIN2K作为一个崭新的操作系统,它的最大特点就是引入了活动目录,而活动目录的一个最大的特点就是把DNS和活动目录紧密结合在了一起。活动目录使用域名服务DNS 作为它的定位服务,同时对标准的DNS作了扩充。由于DNS 是使用最为广泛的定位服务,所以不仅在Internet 上, 甚至在许多企业内部网络中也使用DNS 作为定位服务。在利用WINNT4.0 构建的网络系统中,对每一台主机的唯一标识信息是它的NetBIOS名,系统是利用WINS服务、信息广播方式及Lmhost文件等多种模式将NetBIOS名解析为相应IP地址,从而实现信息通讯。在内部网络系统中(也就是通常我们所说的局域网中),利用NetBIOS名实现信息通讯是非常方便、快捷的。但是在Internet上对一台主机的唯一标识信息是它的FQDN格式的域名(如www.163.com),在Internet是利用DNS标准来实现将域名解析为相应IP地址。如果WINNT4.0 构建的网络系统同Internet连通,则NT网络中的每一台主机也都有相应域名,其域名的解析是通过WINNT4.0 所支持的DNS 服务来实现的。在WINNT4.0 中配置和实现DNS完全由人为手工来规划、设计和实现,由上述可见,在WINNT4.0 网络系统中,每一台主机既有NetBIOS名又由域名,而实际意义基本相同,这在一定程度上增加了网管人员的管理负担,同时出使整个网络管理显得更加混乱。
在WIN2K的活动目录中,最基本的单位是域(Domain),通过父域和子域的模式将域组织起来形成树,父域和子域之间是完全双向的信任关系,且信任关系传递,其组织结构同DNS系统类似。在活动目录中命名策略基本按照Internet标准来实现,遵照DNS和LDAP3.0两种标准,活动目录中的域和DNS系统中的域采用完全相同的命名方式,即活动目录中的域名就是DNS域名。那么在活动目录中依赖于DNS作为定位服务,实现将名字解析为IP地址。所以当我们利用WIN2K 构建活动目录时,必须同时安装配置相应的DNS,无论用户实现IP地址解析还是登录验证,都利用DNS在活动目录中定位服务器。活动目录与DNS系统的这种紧密集成,意味着活动目录同时非常适合于Internet和Intranet环境,这也是微软创建适用于Internet的网络操作系统的思想的一种体现。企业可以把活动目录直接连接到Internet以简化与客户和合作伙伴之间的信息通讯。另外WIN2K中的DNS服务允许客户使用DNS动态更新协议(RFC 2136)来动态更新资源记录,通过缩短手工管理这些相同记录的时间,提高DNS管理的性能。运行WIN2K的计算机能动态地注册他们的DNS名称和IP地址。
由于活动目录与DNS已经集成在一起,因此在WIN2K中NetBIOS名已经逐渐失去意义,与此相对应的WINS服务也处于慢慢被淘汰的过程中。在WINNT中为了有效的发挥WINS的动态特性,我们通常将DNS与WINS 进行集成,这样能获得更准确的解析结果。但是,WINS并不是Internet标准协议,而DNS解决动态维护机器名与IP地址对照表的方案是动态DNS。动态DNS并不需要用到WINS,因为它允许动态分配IP地址的客户可以直接注册到DNS服务器上,即时更新DNS对照表。
WIN2K支持动态DNS,运行活动目录服务的机器可动态地更新DNS表。WIN2K网络中可以不再需要WINS服务,但是WIN2K仍然支持WINS,这是由于向后兼容的原因。那么如果网络系统不再使用WINS,用户登录到网络时,客户机如何找到域控制器呢?这是因为WIN2K在实现DNS时,对标准的DNS进行了扩展,在DNS表中增加了一种新的记录类型SRV记录,它指向活动目录的域控制器。所以如果网络系统已经全面升级到WIN2K,那么就可以不再使用WINS 服务 了。而在WIN2K中,由于支持动态更新协议(RFC 2136),这种集成也变得没有必要了。DNS这个由一系列解释请求(RFCs)标准组成的在Internet上广泛采用开放的协议,已经成为网络技术中的统一的标准化的规范。WIN2K的目标是在Internet和Intranet环境中得到广泛应用,那么它的名称解析模式就应该完全遵守单一的DNS标准。
上面主要讲了一下DNS在活动目录中的应用情况,但或许有人要问原来在WINNT4.0中没有用活动目录,只用DNS来解析域名,到底活动目录与DNS之间有什么区别,它们之间又是如何结合的呢?下面就来具体讲一下。
1、活动目录与DNS的区别
(1)、存储的对象不同
DNS和活动目录的结合是Windows2000服务器的最主要特点,DNS域和活动目录域对不同的名字空间使用同一样的域名。但它们各自存储不同的数据,因此管理不同的对象。DNS存储它的区域和资源记录,活动目录存储域和域中的对象。对DNS来说,域名是以DNS的层命名结构为基础的,是一种倒树型结构:一个根域,下面的域既是父域又是子域。每一个DNS域中的计算机可以通过完全合格域名(FQDN)进行识别。每一个与因特网连接的WIN2K域都有一个DNS名字,并且每一个WIN2K域中的计算机也都有一个DNS名字。因此,域和计算机即代表活动目录对象,又代表域节点。
(2)、解析所用的数据库不同
DNS是一种名字解析服务,DNS是通过DNS服务器接受请求查询DNS数据库来把域或计算机解析为IP地址的。DNS客户发送DNS名字查询到它们设定的DNS服务器,DNS服务器接受请求后或通过本地DNS数据库解析名字,或查询因特网上的DNS数据库,DNS不需要活动目录就可以起作用。
活动目录是一种目录服务,活动目录通过域控制器接受请求查询活动目录数据库来把域对象名字解析为对象记录。活动目录用户是通过LDAP协议(一种进入目录服务的协议)向活动目录服务器发送请求,为了定位活动目录数据库,需要借助于DNS,也就是说,活动目录把DNS作为定位服务,把活动目录服务器解析为IP地址,活动目录不能没有DNS的帮助。DNS可以独立于活动目录,但是活动目录必须有DNS的帮助才能工作。为了活动目录能够正常的工作,DNS服务器必须支持服务定位(SRV)资源记录,资源记录把服务名字映射为提供服务的服务器名字。活动目录客户和域控制器使用SRV资源记录决定域控制器的IP地址。
除了要求WIN2K网络的DNS服务器支持SRV资源记录外,微软还建议DNS服务器提供对DNS的动态升级。DNS动态升级定义了一个DNS服务器在一定值内自动升级的协议,如果没有此协议,管理员不得不手动配置域控制器产生的新的记录。新的WIN2K的 DNS服务既支持SRV资源记录,又支持动态升级。如果你选择其它的非WIN2K为基础的DNS服务器,那么你必须证实它支持SRV资源记录。对于一个合法的支持SRV资源记录但是不支持动态升级的DNS服务器,在你把WIN2K服务器升级为域控制器时,必须使它的资源记录手动升级。这些可以用Netlogon.dns文件来完成,该文件是由活动目录智能安装向导创建的,存在于文件夹%systemroot%\System32\config中。
2.两者的结合方法
既然DNS和活动目录有如此大的区别,那么它们是怎样结合在一起的呢?主要有以下几种途径:
(1)、活动目录域和DNS域使用一样的层次结构,
虽然功能和目的不一样,一个组织的DNS名字空间和活动目录空间有着一样的结构。
(2)、DNS区可以存储在活动目录中
如果你使用WIN2K DNS服务,那么主域可以存储在活动目录中为其它活动目录域控制器提供复制服务,并且为DNS服务提供增强的安全措施,
(3)、活动目录客户使用DNS定位域控制器
对于一个特定的域,为了定位域控制器,活动目录客户向它们设定的DNS服务器请求资源记录。当一个公司使用WIN2K服务器版作为它们的网络操作系统时,活动目录被认为是注册的法定DNS名字根域下的一个或多个层次结构的WIN2K域。
根据DNS的命名规则,DNS名字的被句点(.)分开的每一部分代表DNS树型层次结构的一个节点,并且代表WIN2K域树型层次结构的一个潜在的活动目录域。DNS的根节点以空白表示(“”),活动目录名字空间的根节点没有父域,它提供活动目录的LDAP进入点。
二、站点(Site)在活动目录中的应用
我们在利用WINNT4.0来规划设计我们的企业网络系统时,要根据企业构建的具体情况设计相应的域模型,如单域、多主域或单主域模型等。我们可以利用这些种类的域模型来规划企业的网络环境,实现对企业网络的组织、管理和控制。当我们去实现这种网络规划时,常常要根据企业内部的组织结构形式,作出符合实际需求的规划设计。如果是一个集团性质的大公司,我们常常需要把某一部门或一些工作关联性较大的部门设计成一个域,以方便组织和管理。这就给我们设计人员提出了一个很棘手的问题,如果这样一个域是由地理上分布在不同位置的计算机通过慢速连接构成的,那么通过慢速连接的PDC和BDC的信息同步就会因占据大量网络流量,影响网络的整体性能,面对这样一个问题,我们只能束手无策,根本没有任何控制方法。
当我接触到WIN2K之后,活动目录的强大功能和人性化设计思想,令我们今后的网络规划设计更加方便和灵活。而WIN2K活动目录中Site概念的提出和实现,为管理和控制DC之间的信息同步提供强大工具,从而有效的解决了我们前面提出的那个曾令我们束手无策的难题。
所谓Site,是指在物理上有较好的线路连接的能实现较快通讯速率的计算机的集合,一般是指一个LAN。而Site之间一般是通过慢速连接来实现信息通讯。可见Site 是对网络上计算机的实际的物理分布的一种客观反映。有了Site这个概念之后,我们就可以将一个域中的计算机根据地理位置的分布分装在几个Site之中。在一个Site当中,活动目录利用复制组件和KCC形成一个DC之间复制同步的双向的环形,每个DC都有两个复制伙伴,它们之间形成完全的信息同步。当一个DC中的目录数据库发生变化,它会等待一段时间间隔后向它的复制伙伴发送变更通知,复制伙伴接到变更通知后,会从发生变化的DC上拷贝目录数据的变化信息。同样复制伙伴还会把变更信息发送给它的复制伙伴,从而实现整个Site内的DC的同步。由于Site内采用快速而可靠的网络连接,因此Site内DC之间的复制数据是不压缩的,这虽然增加了复制信息的要求的带宽,但减少了DC的处理数据的负担。一般情况下Site内DC的信息同步采用RPC协议,使数据复制快速、统一,使DC之间保持了较高的数据一致性。
在Site之间一般是通过慢速连接,只有有限的可用带宽并且数据传输不可靠。为了不影响慢速连接线路上的其它数据通讯,以及确保DC间目录复制的可靠性,Site间的DC的复制不采用Site内DC间复制的变更通知方式,而是采用复制调度的方式。在Site之间可以设定一个时间表和时间间隔,时间表决定在哪些时间允许复制发生,时间间隔指定在允许复制的时间内DC多久检查一次数据变更。这样我们就可以将Site间DC复制同步的时间表设定在网络流量较少的时候(比如午夜)。这时网络不拥挤相对而言也较可靠。而且在Site间DC的目录复制采用压缩的方法,复制信息可以被压缩至10%到15%,这样可以有效地优化网络带宽。
可见,我们通过合理地规划活动目录上的Site,可以有效地控制活动目录中DC的同步,优化网络带宽,提高网络性能。由于在WIN2K的活动目录中,DC之间的同步不但涉及一个域内DC之间大量数据的同步,同时不同域的DC之间也有少量信息需要同步。当我们用Site来实现活动目录中DC之间的复制布局时可以借助于 Site link 和Site link Bridge两种设置来帮助我们实现,从而形成一个更合理、更有效、更可靠的活动目录中DC的复制布局,最大限度优化我们的网络系统。
三、LDAP在活动目录中的应用
LDAP的英文全称是Lightweight Directory Access Protocol,简称为LDAP。它是基于X.500标准的,但是又比它简单许多,并且可以根据需要定制的一种目录服务协议。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。
目录服务的工作模型是客户机/服务器模型。1988年,CCITT组织首先创建了X.500标准全面描述了这一模型,包括目录服务器的目录结构、命名方法、搜索机制以及用于客户机与服务器通信的协议DAP(Directory Access Protocol)。此标准很快被ISO组织引用,编号为ISO 9594。但是,在实际应用的过程中,X.500存在着不少障碍。由于DAP这种应用层的协议是严格遵照复杂的ISO七层协议模型制定的,对相关层协议环境要求过多,在许多小系统上无法使用,TCP/IP协议体系的普及更使这种协议越来越不适应需要。在这种情况下,DAP的简化版LDAP应运而生。早期设计的LDAP服务器不是独立的目录服务器,主要扮演LDAP客户机与X.500服务器间网关的角色,既是LDAP的服务器又是X.500的客户机。如今的LDAP服务器可取代X.500服务器而独立提供服务。
LDAP服务器的目录组织以“条目”为基本单位,结构类似树形,每一个条目即是树上的一个分枝节点或叶子。一个条目由多个“属性”组成,每个属性又由一个“类型”和一到多个“值”组成。LDAP协议直接基于面向连接的TCP协议实现,定义了LDAP客户机和LDAP服务器间的通信过程和信息格式。LDAP服务器在服务端口(缺省端口号为389)监听,收到客户机的请求后,建立连接,开始会话。活动目录与DNS协议的结合的意义在于使内部网与外部网命名方式保持一致,这样便于整个网络的管理。LDAP协议是用于查询和检索活动目录信息的目录访问协议。由于它是基于工业标准的目录服务协议,使用 LDAP 的程序可以发展成与其他目录服务共享活动目录信息,这些目录服务同样支持LDAP。活动目录信息活 动目录使用LDAP 目录访问协议作为它与其他应用或者目录服务交换信息的手段。LDAP 已经成为 目录服务的标准,它比X.500 DAP 协议更为简单实用一些。Microsoft 已经在Exchange Server 系统中提供了LDAP v2 和LDAP v3 的支持, 在WIN2K 的活动目录服 务中将提供更为全面的支持。
值得一提的是LDAP 协议中采用的命名格式, 因为我们需要通过名字信息访问目录对象,所以名字格式对于用户或者应用程序非常重要。活动目录支持大多数的名字格式类型。较为常用的格式有以下两种:
(1) RFC822 命 名 法
这种命名法的标准格式为:object_name@domain_name,形式非常类似于电子邮件地址,比如Myname@mydomain.com。活动目录为所有的用户提供了这种式的好名字,所以用户可以直接使用该友好名字当作电子邮件地址,也可以用作登录系统时的账户名。
(2) LDAP URL 和X.500 名 字
任何一个支持LDAP 的客户都可以利用LDAP名通过LDAP 协议访问活动目录,LDAP 名不像普通的Internet URL 名字那么直观,但是LDAP 名往往隐藏在 应用系统的内部,最终用户很少直接使用LDAP 名。LDAP 名使用X.500 命名规 范,也称为属性化命名法,包括活动目录服务所在的服务器以及对象的属性信息。
Window回收站使用技巧全攻略之高级篇:
20、如何为软盘建立一个回收站?
在软盘上删除文件是不会出现在回收站中的,因此你也无法对它进行恢复,你想避免这种情况发生吗?可在D盘上建立一文件夹,将其命名为“删除后的软盘文件”,再用资源管理器打开c:WindowsSendTo文件夹,用鼠标右键将D盘上“删除后的软盘文件”文件夹拖至SendTo文件夹下,再在滑出的菜单中选择“在当前位置建立快捷方式”命令,以后要删除软盘上的文件时,先选中要删除的文件,然后按住SHIFT键单击鼠标右键,选择“发送到”→“删除后的软盘文件”,这样一旦发现误删了软盘上的文件,还可以到D盘上“删除后的软盘文件”文件夹下找到,从而实现恢复。
21、如何在DOS下恢复回收站中的文件?
在Windows无法启动的时候,我们如何恢复回收站中的文件呢?如果当时删除时并不知道删除了些什么文件,能否恢复系统运行呢?回答是肯定的,就是用经典的 DOS 命令来实现。
比如在双启动的系统里,在Windows 98的环境下误删除了NT的系统文件,导致NT和Windows 98都无法启动。
下面介绍一种办法可以帮你解决这个问题。 首先进入到DOS模式(如果WINDOWS不能正常启动的话,用带启动文件的软盘启动),进入到C:RECYCLED目录,这是一个隐藏目录,如果你要恢复的文件原来在D盘,相应的目录是D:RECYCLED。用dir/a命令可以列出一堆DC开头的隐藏文件(DC1.txt, DC2.com...),这些就是被你已经删除了的文件。
但是由于Windows在把文件移至回收站的时候,把文件名给改了,所以还需要找回原来的文件名。原来的文件名可以从RECYCLED目录下的INFO2文件中找的(用EDIT INFO2 )。INFO2 是一个二进制文件,每一个被删除的文件在 INFO2 文件中有一段记录(800字节),其中可以找到文件名,其他的信息都不是ASCII字符,那些乱码就不必管它了。 按找到的文件名用 COPY 命令拷到目标位置即可,如:COPY DC2.EXE C:WINDOWSCOMMANDDELTREE.EXE。
文件名是按顺序排列的,第一个文件名就是DC1.* 文件的原来的文件名,后缀名保持不变。如果被删除的是目录的话,在RECYCLED下就有一个叫DC????的目录,用同样的方法可以找回原来的目录名。
要做好这些工作,你必须保证有一张可以启动的软盘,除有io.sys、msdos.sys 和 command.com 外,最好里面有edit.com 、attrib.exe文件,相信懂一点DOS基础的人都知道这是拿来做什么用的。同时也敬告熟悉Windows 95/98/ME//NT的用户,把常用的DOS命令也学一学,Windows用起来的确舒服,但出了问题有时还得用DOS方法来解决。
22、如何妙用“回收站”实现批量重命名?
不知你遇到过这种情况吗?从网上找来的大量的素材,但文件名没有规则,你想将它们的名字改为带有1、2、3……这样有规则的名字以便管理,一个一个的改?太麻烦了!我们可以利用回收站轻而易举地实现。
首先要清楚回收站的原理。大家都知道同一个文件夹不允许有两个或两个以上的文件用同一个文件名,但我们可以看到回收站允许。进入 DOS 模式用“CDRecycled ”我们可以看清真正的原因:WINDOWS 聪明的将删除了的文件名改为DC1.*、DC2.*……后(假如你进入的是 C盘下的 Recycled 目录,D盘下是DD1.*、DD2.*……其它同理,*表示原文件扩展名),放在回收站特定的目录Recycled中。
现在你该明白我们该做些什么了吧!首先清空回收站,把你要改名的文件全删了(一定要在WINDOWS下进行,还要保证回收站的空间够用!)。然后在D盘下建立一个新文件夹如:123。(如果你的文件是在D盘删的)在DOS模式(可在WINDOWS的DOS模式)下键入:
CDRecycled
COPY *.* D:S
所有的文件已改为DD1、DD2……这样有规则的名字是不是很方便?还要补充一下删除之前要先删除一个无用的文件,然后清空回收站,否则你的文件将有可能从100以上的数字基数开始,
当然可以用DIR 〉 HM.BAT做一个批处理文件,然后用“写字板”将其修改一下把DD换为其它的名字。
点击阅读更多学院相关文章>>
分享到 23、如何利用回收站给文件夹加密?
要说给文件夹加密,方法很多,有软件加密、注册表加密,而利用 Windows 本身自带的“回收站”也能给文件夹加密,令那些喜欢偷窥文件的家伙无计可施。
如要加密“d: MyData”文件夹,步骤如下:
1.用记事本编辑初始化文件 desktop.ini ;
[.ShellClassInfo]
CLSID={645FF040-5081-101B-9F08-00AA002F954E}
2.将文件 desktop.ini 拷入要加密的“d: MyData”文件夹中;
3.修改文件 desktop.ini 的属性,将其设置为“只读”;
4.然后右击“d: MyData”文件夹,选择属性,在弹出的对话框中确保“只读”属性被选中,然后在“启用缩略图查看方式”复选框前打上钩,然后确定即可。
怎么样?你的“MyData”文件夹已经变成“回收站”的图标了,而打开它的时候,同样是原来“回收站”的内容,而根本看不到“MyData”的内容了。
加密了,自己如何使用呢?也不难,进入DOS,cdMyData,进入D盘MyData目录,用 ATTRIB 修改 desktop.ini 属性后,删除 desktop.ini 即可,你的“MyData”文件夹又和从前一样了。
加密其他目录可参照此法进行。
24、如何把文件隐藏在回收站里?
大家看到这个标题千万不要惊讶,把文件放在回收站!? 要是清空回收站那不丢掉了。
不管是改文件的属性(即把文件的属性改为隐藏),还是将文件夹用web 方式查看使其运行保密脚本(例如打开我Windows下的System 文件夹时),都不能防止文件被一般使用者修改或删除。
打开[开始/运行],在其中键入“winfile”回车,即可看到一个资源管理器(看起来有点怪,可随后的功能一定会让你对它刮目相看)。选中要保存的文件后,打开[文件/移动] ,在相应栏填上目标地址“相应盘 recleyed 文件夹名称”
例:我要把e:music 隐藏。在运行“winfile”命令后,选中music文件夹,然后打开[文件/移动] ,在光标处填上e: ecycledmusic 即可。被隐藏的文件在这个资源管理器下可直接使用。
用此方法不光能进行隐藏,还适合重要文件的备份。打开[文件/复制],如上操作即可。
你一定会怀疑在清空回收站时会把此文件删除(尽管在回收站看不到该文件),其实你的重要文件还躺在原处。这是因为该资源管理器win3.1遗留下来的,而我们现在常用的win32资源管理器无法访问到recycled文件夹。
上一页 1 2
点击阅读更多学院相关文章>>
分享到
我们平时使用TextView往往让它作为一个显示文字的容器,但TextView的功能并不局限于此,下面就和大家分享一下TextView的一些使用技巧。
Android中设置文本样式的几种方法:
1.将android:autoLink属性值设为true。系统会自动识别E-mail、电话、网址等特殊文本。
2.使用Html标签,例如,、等。不要设置 android:autoLink 属性。
3.在Java代码中直接使用Span对象来设置文本样式。这种方法需要将文本转换成一个SpannableString或SpannableStringBuilder对象,然后在SpannableString或SpannableStringBuilder对象中使用setSpan方法将要设置样式的文本转换成相应的Span对象。
4.在字符串资源中使用标签(只支持标签)设置可单击的链接,不要设置android:audoLink属性。
上面4种方法只要涉及单击动作,就必须使用TextView.setMovementMethod方法设置相应的MovementMethod对象。
那么,在Android中如何用TextView显示图片呢?
在解析Html标签来方面Android系统没有浏览器那么强大,Android系统不会直接根据src属性说指向的的值自动获取并显示图片,这一切都需要我们来帮它来完成。说白了,src属性指的是什么只有开发者自己知道。开发者需要告诉系统src属性到底指的是什么,然后系统才会知道怎么做。
解析src属性值需要ImageGetter对象的getDrawable方法来完成。ImageGetter是一个接口。使用Html.fromHtml会使这一过程变得简单。(关于Html.fromHtml的介绍)
txtShow=(TextView)findViewById(R.id.txtShow);
String htmlText=“小黄人1号:” +“小黄人2号:”+“小黄人3号:”;
txtShow.setText(getSpanned(htmlText));/**
*将Html解析成样式文本
*@return spanned Spanned
* */
private Spanned getSpanned(String htmlText) {
//TODO Auto-generated method stub
Spanned spanned=Html.fromHtml(htmlText,new ImageGetter { @Override
public Drawable getDrawable(String source) {
//TODO Auto-generated method stub
//装在图像资源
Drawable drawable=getResources().getDrawable(getResourceId(source));
if(source.equals(“blog.csdn.net/fengyuzhengfan/article/details/xiaohuangren1”)) {
//设置图像的缩放
drawable.setBounds(0, 0, 56, 56);
}elseif(source.equals(“blog.csdn.net/fengyuzhengfan/article/details/xiaohuangren2”)) {
//设置图像的缩放
drawable.setBounds(0, 0, 36, 36);
}elseif(source.equals(“blog.csdn.net/fengyuzhengfan/article/details/xiaohuangren3”)) {
//设置图像缩放到原来的75%
drawable.setBounds(0, 0,(int) (drawable.getIntrinsicWidth()*0.75),
(int) (drawable.getIntrinsicHeight()*0.75));
}
return drawable;
}
},null);
return spanned;
}
/**
*利用反射技术从R.drawable类中通过图像资源文件名获得相应图像资源的ID
*@param name String图像资源名
*@return图像资源ID int
* */
protectedint getResourceId(String name) {
//TODO Auto-generated method stub
try {
//根据资源ID的变量名(也就是图像资源的文件名)获取Field对象
Field field=R.drawable.class.getField(name);
//取得并返回资源ID的值
return Integer.parseInt(field.get(null).toString());
}catch (Exception e) {
//TODO: handle exception
}
return 0;
}
TextView自动识别的网址、电话号、E-mail等,都是在ClickableSpan类的onClick方法中通过Action调用相应的组件来实现的。现在我们就采用类似的方法,通过自己实现onClick方法来达到自定义自定义单击动作的目的。
/**
*单击TextView中的内容启动指定组件
* */
privatevoid launchComponentByTextView() {
//TODO Auto-generated method stub
txtLink=(TextView)findViewById(R.id.txtLink);
String str=“单击我启动一个Activity”;
//将文本转换成SpannableString对象
SpannableString spannableString=new SpannableString(str);
//将spannableString所有文本设置成ClickableSpan对象,并实现onClick方法
spannableString.setSpan(new ClickableSpan() {
@Override
publicvoid onClick(View widget) {
//TODO Auto-generated method stub
//启动指定Activity
Intent intent=new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
}
}, 0, str.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
txtLink.setText(spannableString);
//在单击链接时凡是要执行的动作,都必须设置MovementMethod对象
txtLink.setMovementMethod(LinkMovementMethod.getInstance());
}实例分析:
基于Web服务的企业应用集成系统及其接口
阐述了针对中小制造企业的应用集成的方式和Web服务的基本原理及其标准协议,并通过实例给出了基于Web服务的企业应用集成系统的框架体系,提出了一种开发Web服务应用程序接口的方法,通过将该接口应用于基于Web服务的`企业应用集成系统框架体系结构中,实现了中小制造企业应用系统的集成.
作 者:卢丽丽 闫光荣 韩承祥 Lu Lili Yan Guangrong Han Chengxiang 作者单位:北京航空航天大学机械工程及自动化学院 刊 名:航空制造技术 ISTIC英文刊名:AERONAUTICAL MANUFACTURING TECHNOLOGY 年,卷(期): “”(5) 分类号:V2 关键词:企业应用集成 Web服务 接口1. 关闭 DirectDraw
这是C2级安全标准对视频卡和内存的要求,关闭DirectDraw可能对一些需要用到DirectX的程序有影响,但是对于绝大多数的商业站点都应该是没有影响的。 修改注册表 HKLMSYSTEMCurrentControlSet
ControlGraphicsDriversDCI 的Timeout(REG_DWORD)为 0 即可。
2. 关闭默认共享
win2000安装好以后,系统会创建一些隐藏的共享,你可以在cmd下打 net share 查看他们。网上有很多关于IPC入侵的文章,相信大家一定对它不陌生。要禁止这些共享 ,打开 管理工具计算机管理共享文件夹共享 在相应的共享文件夹上按右键,点停止共享即可,不过机器重新启动后,这些共享又会重新开启的。
默认共享目录 路径和功能
C$ D$ E$ 每个分区的根目录。Win2000 Pro版中,只有Administrator和Backup Operators组成员才可连接,Win2000 Server版本Server Operatros组也可以连接到这些共享目录ADMIN$ %SYSTEMROOT% 远程管理用的共享目录。它的路径永远都指向Win2000的安装路径,比如 c:winntFAX$ 在Win2000 Server中,FAX$在fax客户端发传真的时候会到。
IPC$ 空连接。IPC$共享提供了登录到系统的能力。
NetLogon 这个共享在Windows 2000 服务器的Net Login 服务在处理登陆域请求时用到PRINT$ %SYSTEMROOT%SYSTEM32SPOOLDRIVERS 用户远程管理打印机
3. 禁止dump file的产生
dump文件在系统崩溃和蓝屏的时候是一份很有用的查找问题的资料(不然我就照字面意思翻译成垃圾文件了)。然而,它也能够给 提供一些敏感信息比如一些应用程序的密码等。要禁止它,打开 控制面板系统属性高级启动和故障恢复 把 写入调试信息 改成无,
要用的时候,可以再重新打开它。
4. 使用文件加密系统EFS
Windows2000 强大的加密系统能够给磁盘,文件夹,文件加上一层安全保护。这样可以防止别人把你的硬盘挂到别的机器上以读出里面的数据。记住要给文件夹也使用EFS,而不仅仅是单个的文件。 有关EFS的具体信息可以查看www.microsoft.com/windows2000/techinfo/howitworks/security/encrypt.asp
5. 加密temp文件夹
一些应用程序在安装和升级的时候,会把一些东西拷贝到temp文件夹,但是当程序升级完毕或关闭的时候,它们并不会自己清除temp文件夹的内容。所以,给temp文件夹加密可以给你的文件多一层保护。
6. 锁住注册表
在windows2000中,只有administrators和Backup Operators才有从网络上访问注册表的权限。如果你觉得还不够的话,可以进一步设定注册表访问权限,详细信息请参考: support.microsoft.com/support/kb/articles/Q153/1/83.asp
7. 关机时清除掉页面文件
页面文件也就是调度文件,是win2000用来存储没有装入内存的程序和数据文件部分的隐藏文件。一些第三方的程序可以把一些没有的加密的密码存在内存中,页面文件中也可能含有另外一些敏感的资料。 要在关机的时候清楚页面文件,可以编辑注册表HKLMSYSTEMCurrentControlSetControlSession ManagerMemory Management,把ClearPageFileAtShutdown的值设置成1。
8. 禁止从软盘和CD Rom启动系统
一些第三方的工具能通过引导系统来绕过原有的安全机制。如果你的服务器对安全要求非常高,可以考虑使用可移动软盘和光驱。把机箱锁起来扔不失为一个好方法。
9. 考虑使用智能卡来代替密码
对于密码,总是使安全管理员进退两难,容易受到 10phtcrack 等工具的攻击,如果密码太复杂,用户把为了记住密码,会把密码到处乱写。如果条件允许,用智能卡来代替复杂的密码是一个很好的解决方法。
10. 考虑使用IPSec
正如其名字的含义,IPSec 提供 IP 数据包的安全性。IPSec 提供身份验证、完整性和可选择的机密性。发送方计算机在传输之前加密数据,而接收方计算机在收到数据之后解密数据。利用IPSec可以使得系统的安全性能大大增强。