これは別のポストには私 シリーズの予定 使用方法 jQuery SharePoint と.
JQuery についてもっと学びたい場合, 私は非常にお勧め: 『 jQuery in Action クマ Bibeault、イェフダー Katz による.
思った最初の事の 1 つ, かつて私は jQuery を使って再生するには, 我々 が SharePoint ビューをセキュリティで保護するそれを使用できるかどうかは. 答えは"no" (または少なくとも, 不可能とは言わない). ただし, それは確かに困難に人々 が特定のビューを参照してくださいすることが可能.
これに取り組んでいるとき、私のサンド ボックス環境を始めました. その環境をここに書いた: 迅速で簡単な: SharePoint のあなた自身の jQuery サンド ボックスを作成します。.
「するには、セキュリティで保護するには」, これらの手順を実行します:
- セキュリティで保護するビューを作成します。. 私はそれを行なったし、それを「保護されたビュー」と呼ばれる.
これは、"保護されていないときは"どのように見えるです。:
- サンド ボックスの資料に記載されているトリックを使用してビューのページにコンテンツ エディター web パーツを追加します。 (すなわち. 追加「ページビュー = 共有&ToolPaneView = 2"URL).
- これらの狂気の手順に従って SharePoint _spUserId を把握します。, 信じるか:
- SharePoint 環境にログインします。.
- Web ブラウザーのアドレス フィールドに, タイプ: java スクリプトの設定」:アラート(_spUserId」).
- 結果を記録します。 (それは私の場合「13」).
- コード ビューで、CEWP に以下の javascript を追加します。:
<スクリプトの型 ="テキスト/javascript"
src ="../../jQuery Library/jquery-1.3.2.min.js">
</スクリプト>
<スクリプトの型 ="テキスト/javascript">
$(関数() {
アラート(_spUserId);
var theSecuredView = $(' iframe[FilterLink * = セキュリティで保護された view]');
場合 ((theSecuredView.length > 0) && (_spUserId = = 13))
$(' iframe[FilterLink * = セキュリティで保護された view]').親().親().親().html("<tr bgcolor = 赤><td>あなたのビューを使用しません。!</td></tr>");
});
</スクリプト>
|
その警告を含まれています。(_spUserId) これはない方法を示すためにそこにラインは本当に、「するには、セキュリティ保護する」, 単にそれより困難を参照してくださいすることが、. その瞬間について.
基本的には, jQuery は、値に"セキュリティで保護された view"を含む属性を持つページ iFrame を探しています. それが見つかったら, 我々 は現在のユーザーが「13」であるかどうかをチェックします。. だとすると, 私たちに DOM を歩いて、 <TR> タグ (ソースを表示して、トレースによって私を考え出した) TR タグを自分のメッセージを交換. これはどのように堅牢です本当に分からない (非常に疑わしい, 実際), それは私のサンド ボックスで働いていたが、. 私はより良い方法を見つける場合, それについてのブログがあります。. これは、結果です。:
OK ボタンをクリックし、データに大きな赤色のメッセージに置き換えられます:
言うことができます。, 私は実装方法この「セキュリティ」ソリューションは、web パーツ自体を表示を許可するには. 完了すると、, 私は私"ビューがありませんあなたのためにそのコンテンツを上書き!"メッセージ.
それではないという事実にもかかわらず実際には"セキュリティで保護された '」ビュー, 潜在的に有用ないくつかの巧妙な仕事とは, 最終的にはより正式な意味でセキュリティ保護可能な場合があります。. 根本的な問題は、クライアントがすべてのデータを取得し、, データを取得した後のみ, それはそれを拭く. クライアントがデータを取得する場合, 巧妙なユーザーことができます jQuery のすべてを妨げるし、彼/彼女が見たいを参照してください。.
その他の欠点があります。. この「セキュリティ」手法、_spUserId オフ. 私たちが望むに本当に安全なに基づいて完全な SharePoint のセキュリティ モデル, あるいは、少なくともユーザー名で. 徐々 に難しくなります。, しかし、私はこの件名に書かれたいくつかの良いものを参照してください。, 私はその問題に対するよい答えを期待しているので.
自分のビューの一覧をトリミングします。, 可能であれば. 私はそれを把握しようとしていません。. 私はそれが可能と仮定します。, 誰かはただ彼らビューの URL を入力可能性があるので本当に基本的なセキュリティの問題を解決しませんが、 (彼らはそれを知っていた場合). ただし, トリミングにかなって. それは良い使いやすさ機能と物事を難読化すること. エンド ・ ユーザーは、ビューのイベントが存在することを把握していない場合, 彼らはおそらくそれを使用しようとはしません. 時々, それは十分によいです。.
幸運, 私はもっと時間をかけてこの件名に書き込む必要があります。.
</終了>
私のブログを購読します。.
私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin