我想將現有的ASPX頁面,這是現有的網站的一部分,移植到一個新的Sharepoint網站。 ASPX頁面是一個相對簡單的表單,帶有一些服務器端控件,可以通過電子郵件發送表單提交和「驗證碼」。當前網站有註冊在bin文件夾中的Newtonsoft.CaptchaControl dll。因此,我需要做的是:端口ASPX頁面Sharepoint
港ASPX頁面到SharePoint網站
正確與SharePoint和鏈接註冊CaptchaControl DLL的內容中的適當位置,使ASPX頁面利用它
我想將現有的ASPX頁面,這是現有的網站的一部分,移植到一個新的Sharepoint網站。 ASPX頁面是一個相對簡單的表單,帶有一些服務器端控件,可以通過電子郵件發送表單提交和「驗證碼」。當前網站有註冊在bin文件夾中的Newtonsoft.CaptchaControl dll。因此,我需要做的是:端口ASPX頁面Sharepoint
港ASPX頁面到SharePoint網站
正確與SharePoint和鏈接註冊CaptchaControl DLL的內容中的適當位置,使ASPX頁面利用它
設置應用頁面
ASPX頁面將被稱爲SharePoint中的「應用程序頁面」。您可以將ASPX複製到「12 Hive」下的layouts
文件夾。 (「%CommonProgramFiles%\ Microsoft Shared \ web server extensions \ 12 \ TEMPLATE \ LAYOUTS」)。然後可以從{URL}/_layouts/CustomPage.aspx
(例如http://site/_layouts/CustomPage.aspx
或http://site/subsite/_layouts/CustomPage.aspx
)以下的任何SharePoint站點訪問。
添加安全控制項
它看起來像你知道的地方爲你的aspx頁面的任何DLL以及CaptchaControl.dll在IIS下的SharePoint網站bin
文件夾。 DLL必須使用強名稱密鑰進行簽名。您還需要將DLL的強命名簽名添加到SharePoint站點的web.config
文件中的SafeControls列表中。如果你打開web.config文件,你會看到的例子,如:
<SafeControl Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
Namespace="Microsoft.SharePoint" TypeName="*" Safe="True" />
配置代碼訪問安全
假設你的控件實際上做東西,你需要將其標記爲受信任SharePoint使用的代碼訪問安全性文件。將web.config
中的信任級別從WSS_Minimal
更改爲WSS_Custom
。轉到「%CommonProgramFiles%\ Microsoft Shared \ web server extensions \ 12 \ CONFIG」並將wss_minimaltrust.config
複製到wss_customtrust.config
。編輯wss_customtrust.config並使用DLL的公鑰創建新的CodeGroup條目。例如:
<CodeGroup
class="UnionCodeGroup"
version="1"
PermissionSetName="FullTrust">
<IMembershipCondition
class="StrongNameMembershipCondition"
version="1"
PublicKeyBlob="002400000480435694000000060200000024245452534131000400000100453261002888e278243eb86b47eea4be1b23451177126fb9c847085e66e895a64b148c675dabda94d9301f4886a0126887bcd067356affb16a5112baf3198525fc96c45f4178a6263e1a1132bb6c0a4cdaeaccd97b0d4ab42139585700c41e8481feff03e13f30bb0a10ffa7746770d144be94954b7a908fb9bb680ebe611f50f6db" />
</CodeGroup>
注:這會使你的DLL SharePoint Web應用程序內的完全信任。將權限限制爲實際需要的權限是更好的做法。