仓酷云

标题: ASP网页编程之一段ADSI和EXCHANGE分离的树模代码 [打印本页]

作者: 若天明    时间: 2015-1-16 23:22
标题: ASP网页编程之一段ADSI和EXCHANGE分离的树模代码
对于中小型web应用来说,php有很强的竞争力,linux+apache+mysql+php(lamp)的组合几乎可以胜任绝大多数网站的解决方案,对于大型应用来讲,对于系统架构要求更高,需要有成熟的框架支持,jsp的struts是个不错的框架,国内介绍它的资料也非常多,应用逐渐广泛起来。asp就不用说了,
在独孤九剑兄的匡助下,完成了这段代码

包含NT用户的创建,EXCHANGE邮箱的创建,二者的分离,权限的设置
本代码在nt4.0+sp6+exchange5.5+adsi2.5下运转经由过程
创建今后的用户能够间接收发函件,是一个简化版本的WEBMAILACCESS
adsi_exchange.asp
-----------------------------------------------------------------------
<%
Setsid=CreateObject("ADsSID")
Setsec=CreateObject("ADsSecurity")
Setace=CreateObject("AccessControlEntry")

----------------------------------------------------------------------------
---假如没有安装ADSI2.5的平安库要手工界说以下参数
-----------------------------------------------------------------------------
ConstADS_SID_HEXSTRING=1
ConstADS_SID_WINNT_PATH=5
ConstADS_RIGHT_EXCH_MODIFY_USER_ATT=&H2
ConstADS_RIGHT_EXCH_MAIL_SEND_AS=&H8
ConstADS_RIGHT_EXCH_MAIL_RECEIVE_AS=&H10

-------------------------------------------------------
-----创立邮箱步骤----------------------
--------------------------------------------------------
----基础信息
server1="114DOMAINSERVER"
Org="114ONLINE"
Site="EXCHANGE"
domain="EXCHANGE"
userName="liuoo"
password="43444"
---邮箱信息-----
strDisplayName="rtrtrt"
strFirstName="gfgf"
strLastName="fgfgfg"
strAlias=userName
strMTA="cn=MicrosoftMTA,cn="&server1&",cn=Servers,cn=Configuration,ou="&Site&",o="&Org
strMDB="cn=MicrosoftPrivateMDB,cn="&server1&",cn=Servers,cn=Configuration,ou="&Site&",o="&Org
strSMTPAddr="ewwe@114online.com"

------创建一个nt用户
Setdom=GetObject("WinNT://"&domain)
Setusr=dom.Create("user",userName)
OnErrorResumeNext
usr.SetInfo
IfErr.Number0Then
Response.Write"111"
Response.WriteErr.Description
Response.End
EndIf
usr.SetPasswordpassword

---创立邮箱
ADsPath="LDAP://"+server1
ADsPath=ADsPath+"/cn=Recipients,OU="
ADsPath=ADsPath+Site
ADsPath=ADsPath+",O="
ADsPath=ADsPath+Org

SetobjCont=GetObject(ADsPath)
CreateanewMailBox
SetmailBox=objCont.Create("organizationalPerson","cn="&strAlias)
mailBox.Put"mailPreferenceOption",0
mailBox.Put"givenName",strFirstName
mailBox.Put"sn",strLastName
mailBox.Put"cn",strDisplayName
mailBox.Put"uid",strAlias
mailBox.Put"Home-MTA",strMTA
mailBox.Put"Home-MDB",strMDB
mailBox.Put"mail",strSMTPAddr
mailBox.Put"MAPI-Recipient",True
mailBox.Put"rfc822Mailbox",strSMTPAddr
--------------------------------------------------------
与nt用户接洽
---------------------------------------------------------
sid.SetAsADS_SID_WINNT_PATH,"WinNT://"&domain&"/"&strAlias&",user"
sidHex=sid.GetAs(ADS_SID_HEXSTRING)
mailBox.Put"Assoc-NT-Account",sidHex
完成设置
mailBox.SetInfo

-------------------------------------------------
变动平安设置
-------------------------------------------------
Setsd=sec.GetSecurityDescriptor(mailBox.ADsPath)
Setdacl=sd.DiscretionaryAcl
ace.Trustee=domain&""&strAlias
ace.AccessMask=ADS_RIGHT_EXCH_MODIFY_USER_ATTOrADS_RIGHT_EXCH_MAIL_SEND_ASOrADS_RIGHT_EXCH_MAIL_RECEIVE_AS
ace.AceType=ADS_ACETYPE_ACCESS_ALLOWED
dacl.AddAceace
sd.DiscretionaryAcl=dacl
sec.SetSecurityDescriptorsd
response.write"successful"
%>
------------------------------------------------------------------------
请注重权限的设置

强大的可扩展性。ASP具有强大的扩展性,可以实现与多种网络、硬件设备的连接:通过专用的通讯线路远程接入企业;通过远程拨号服务器为远程拨号客户提供服务;通过WAP为移动电话互联网客户服务。
作者: 老尸    时间: 2015-1-20 09:35
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
作者: 金色的骷髅    时间: 2015-1-25 13:18
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
作者: 第二个灵魂    时间: 2015-2-8 12:24
最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。
作者: 飘飘悠悠    时间: 2015-2-25 12:13
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
作者: 愤怒的大鸟    时间: 2015-3-7 20:23
那么,ASP.Net有哪些改进呢?
作者: 飘灵儿    时间: 2015-3-15 13:25
最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。
作者: 山那边是海    时间: 2015-3-22 01:10
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2