ピースペース

Sharepointアプリケーションページのアセンブリをbinに配置して、Microsoft.SharePoint.Securityにアクセス許可できないと叱られる

leave a comment »

コードビハインドがあるページをLAYOUTSフォルダーに配置して、同時にアセンブリも配置するには
SharePoint¥Templateプロジェクトにdllのリンクを追加する。

bc37a7b0-89da-45d7-bff0-9dd14072ea95

このままだと、dllはGACに配置されるのでWSP Viewから配置プロジェクトのmanifest.xmlを開いて
配置したいdllのDepoymentTargetをGlobalAssemblyCache→WebApplicationに変更する。
これでめでたく、目指した配置が行われる。

ところが、binに配置したそのコードの中でSPオブジェクトにアクセスすると
SharePointSecurityのアクセス許可の要求に失敗したというエラーが表示される。

先に編集をしたmanifest.xmlで
CodeAccessSecurity要素を追加して
<IPermission class="Microsoft.SharePoint.Security.SharePointPermission を追加してもだ! 
ほわーーい??

4537298b-8206-4689-93a7-1edf7282062e

でもなぜか、dllをGACとbinの両方に配置するとちゃんと動いてくれる。なんじゃそりゃー

結論として
web.configから12HyveCONFIGwss_custom_wss_minimaltrust.configをたどり
その中の

<PermissionSet class="NamedPermissionSet" version="1" Name="SPRestricted"> に
 <IPermission class="Microsoft.SharePoint.Security.SharePointPermission~ を追加する。 

CASについては、時代が時代なので深く追うのはやめておく
とりあえず、一件落着

Written by nasu38yen

2010年6月11日 @ 2:32 AM

カテゴリー: 未分類

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。