要解决的第一个问题就是如何通过新的门户登陆老的OA,我目前不打算使用单点登陆的解决方案,所以构思了一下解决办法:
先在oa部分写一个loginform.asp页面,上面用于登录信息的输入,如下:
在sharepoint门户页面上写一个webpart,通过iframe调用loginform.asp来实现登陆,这样就可以把多种类型的登陆页面统一集中到一个门户页面上了。
说干就干,先在sharepoint server安装的机器上安装quickpart,Kaneboy很贴心,这次的quickpart包中包含了InstallSolution.bat文件,解压后直接运行该文件,就安装好了,下面就是调整站点的web.config文件
把这句


在浏览器中进入sharepoint站点的Web Part Gallery中,点NEW,将

Populate Gallery出来,这时quick part的安装就结束了,下面利用我新安装的visual studio .net 2005 sp1来做一个用户控件。
先新建一个ASP.NET Web 应用程序项目
在项目中添加一个Web用户控件,名为IFrameWebPart,IFrameWebPart.ascx.cs中代码为
1
using System;
2
using System.Data;
3
using System.Configuration;
4
using System.Collections;
5
using System.Web;
6
using System.Web.Security;
7
using System.Web.UI;
8
using System.Web.UI.WebControls;
9
using System.Web.UI.WebControls.WebParts;
10
using System.Web.UI.HtmlControls;
11
12
namespace BoooLee.QuickWebPart.UserControls
13
{
14
public partial class IFrameWebPart : System.Web.UI.UserControl
15
{
16
//目标url成员变量
17
private string _SrcUrl;
18
19
protected void Page_Load(object sender, EventArgs e)
20
{
21
22
}
23
24
//目标url属性
25
26
[Personalizable]
27
[WebBrowsable]
28
[WebDisplayName("地址")]
29
[WebDescription("要在IFrame中显示的页面地址.")]
30
31
public string SrcUrl
32
{
33
get{return _SrcUrl;}
34
set{_SrcUrl=value;}
35
}
36
}
37
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

IFrameWebPart.ascx文件中的代码为


编译后生成的IFrameWebPart.dll复制到站点根目录下的bin目录中,IFrameWebPart.ascx复制到站点根目录下的wpresources目录中。
然后进入站点的Edit Page模式并Add a Web Part,因为我们的iframe web part是一个普通的web part,所以在弹出的web part选择窗口中选择Quick Part,

编辑刚添加的QuickPart属性,在User Control List中选择IFrameWebPart,Custom Properties列出了我刚定义的用户控件属性,地址里输入一开始写好的用于登陆OA的loginform.asp所在地址,然后确定。

这就是最终效果

废话时间:
今天心情很好,给大家汇报一下俺家附近的一家韩国烧烤小店,味道很正,价格便宜,前两天和朋友去的,发几张照片谗谗大家,嘿嘿!

