officeba > 单独文章


另类方法将老程序嵌入MOSS2007

做法上完全不是sharePoint开发应该的方法,实在是投机取巧。不过刚接触sharepoint和.net。很多东西都没有理解,实在是没有办法的办法。

首先公司有些老的asp程序,不想重写,其实是还不会重写成 .net 嵌入MOSS2007。也不会写webparts,只是写了个显示“hello world”的webparts。

我先建立了一个子网站https://moss:9999/pic/,再在子网站建立一个空白页default.aspx。目标就是改掉 pic 的母版以及default.aspx,在default.aspx 嵌入一个iframe,把老的asp程序装进来。
需要改母版,是因为不需要moss原来的左边的那条“查看所有网站内容”菜单栏。老程序里也有类似的菜单栏,会重复。

我先把网站默认的default.master下载了一个到本地,所有的母板页都在,网站设置->所有网站设置->母版页和页面布局 这里。下回去后改个名字比如 hq.master,然后上传。


到https://moss:9999/pic/下的 网站设置->母版 里把母板给改成你上传的 hq.master。

在sharepoint designer 里面打开 https://moss:9999。在_catalogs/masterpage/ 目录下找到 你上传的 hq.master,修改它。

只保留head,把下部包括左边的菜单部分全部删除。写个自己的
<asp:ContentPlaceHolder id="PlaceHolderMain" runat="server"></asp:ContentPlaceHolder> 用来放iframe。

然后在sharepoint designer 里打开 https://moss:9999/pic/ 把default.aspx 修改。因为母版删除了一些ContentPlaceHolder,所以这里也要删除对应的一些Content,否则会出错。
重写<asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server"> 写个不带滚动条的 iframe。

在c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS 新建个目录 PIC。把老的asp程序拷贝到这个目录下。IIS 需要把这个目录设置一下,目录标签里的应用程序设置,应用程序名那里点创建,然后应用程序池选对应站点的。点配置,把父路径给启用。

不要把整个站点的父路径启用,否则你就等着重配moss吧。:'(  教训啊。

把iframe的src指到 /_layouts/PIC/Default.aspx。其实基本就可以用了。可能母版那里比较难弄,只要有耐心,把ContentPlaceHolder 和content对应好就肯定没问题了。

也许你还需要一些用户权限方面的控制,需要知道登录的用户,建立用户的session。因为asp.net和asp的session是不通用的。我是把登录的用户用asp.net生成Cookies,然后用asp读取,再生成asp的session。用户就不验证了,已经登录了么,而且是基于域的。不过asp也是可以通过 ADSI 活动目录服务接口 登录域的,可以读取管理域用户,当然还是没法读域用户密码。

/_layouts/PIC/Default.aspx 这样写
<% Response.Cookies("userName").Value = HttpContext.Current.User.Identity.Name 'moss登录的域以及用户名
Response.redirect("index.asp") %>

/_layouts/PIC/index.asp 这样写
<% username=Request.Cookies("username")
session("user")=right(username,Len(username)-InStr(username,"\"))
session("domain")=left(username,InStr(username,"\")-1) %>

都修改好以后,你用管理员身份看https://moss:9999/pic/,应该就已经全部变掉了。但是用普通用户登录的还没有变,可能还出错。因为hq.master还没有发布和批准。在 网站设置->所有网站设置->母版页和页面布局 把hq.master 发布批准,全部就ok了

作者:phg79


声明:欢迎各大网站转载本站文章,还请保留一条能直接指向本站的超级链接,谢谢!

时间:2008-07-25 16:52:18,点击:65824


【OfficeBa论坛】:阅读本文时遇到了什么问题,可以到论坛进行交流!Excel专家邮件:342327115@qq.com(大家在Excel使用中遇到什么问题,可以咨询此邮箱)。

【声明】:以上文章或资料除注明为Office自创或编辑整理外,均为各方收集或网友推荐所得。其中摘录的内容以共享、研究为目的,不存在任何商业考虑。如有任何异议,请与本站联系,本站确认后将立即撤下。谢谢您的支持与理解!


相关评论

我要评论

评论内容