이것은 또 다른 게시물에 내 -시리즈 사용 하는 방법에 jQuery Sharepoint와 함께.
Jquery에 대 한 자세한 정보를 원하는 경우, 매우 추천: 액션 jQuery 베어 Bibeault 및 예 후 다 카 츠.
내가 생각 하는 최초의 것 들 중 하나, 한번 놀 러 Jquery와 함께 시작 합니다., 여부를 우리가 SharePoint 보기를 확보 하기 위해 사용할 수 있습니다.. 대답은 "아니오" (아니면 적어도, 가능 하다는 주장 하지 오전). 그러나, 그것은 어려운 사람들이 특정 뷰를 볼 수 있도록 수.
이 대 한 작업 내 샌드박스 환경 시작. 여기에 그 환경에 대해 쓴: 신속 하 고 쉽게: Sharepoint에 대 한 자신의 jQuery 샌드 박스를 만듭니다.
"보안" 보기, 다음이 단계를 수행 합니다.:
- 확보 하려는 뷰 만들기. 내가 그것을 했 고 그것에 게 "보안 보기" 라는.
이것은 어떻게 생겼는지 때 그것은 아닙니다 "보안":
- 샌드박스 문서에서 설명 하는 트릭을 사용 하 여 보기의 페이지에 콘텐츠 편집기 웹 파트 추가 (즉. 추가 "페이지 뷰 = 공유&ToolPaneView = 2 "URL을).
- 이 미친 단계에 따라 SharePoint _spUserId 파악, 믿거나 말거나:
- SharePoint 환경에 로그인.
- 웹 브라우저의 주소 필드에, 유형: "자바 스크립트:경고(_spUserId ").
- 결과 기록 (그것은 내 경우에는 "13").
- 코드 보기에서 CEWP에 다음 자바 스크립트 추가:
<스크립트 유형 ="텍스트/자바 스크립트"
src =".. /.. /jQuery Library/jquery-1.3.2.min.js">
</스크립트>
<스크립트 유형 ="텍스트/자바 스크립트">
$(함수() {
경고(_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 태그를 교체 하 고. 난 정말 이것이 얼마나 강력한 모르겠어요 (나는 매우 의심 스러운, 사실), 하지만 내 모래밭에. 내가 더 나은 방법을 찾아야 하는 경우, 그것에 대해 블로그를 겁니다.. 이것은 결과입니다.:
확인 버튼을 클릭 하 고 데이터를 큰 붉은 메시지 바뀝니다.:
당신이 말할 수 있습니다, 난 구현 하는 방법이 "보안" 솔루션은 웹 파트 렌더링 자체를 수 있도록. 완료 후, 내 "아니 볼 수 있는 당신을 위해 콘텐츠를 덮어쓰기!"메시지.
아니다는 사실에도 불구 하 고 정말는 "보안 '" 보기, 그것은 잠재적으로 유용 하 고 일부 영리한 작품, 그것은 결국 더 공식적인 의미에서 보안 수 있습니다.. 근본적인 문제는 클라이언트의 모든 데이터를 지 고 있다 그리고, 데이터를 가져옵니다 후에, 그것은 그것을 지워합니다. 클라이언트는 데이터를 가져오는 경우, 영리한 사용자 jQuery 전혀 실행 하는 것을 못하게 하 고 그/그녀가 보고 싶어 볼 수 있습니다..
다른 단점이 있습니다.. "보안" 이렇게가는 _spUserId 기반으로. 우리가 원하는 것을 정말 보안에 따라 전체 SharePoint 보안 모델, 또는 적어도 사용자 이름. 그는 점차적으로 어렵게 된다, 하지만이 주제에 몇 가지 좋은 물건을 볼, 그래서 거기에 그 문제에 대 한 좋은 답변 희망 해요.
스스로 뷰 목록을 정돈 되어야 한다, 가능 하다 면. 내가 그림을 밖으로 시도 하지 않은. 그것은 가능한 가정, 하지만 누군가가 아직도 단지 그들이 원하는 보기의 URL을 입력 수 있기 때문에 근본적인 보안 문제를 해결할 정말 하지 않습니다 (만약 그들이 그것을 알고). 그러나, 트리밍 의미가. 그것은 좋은 유용성 기능 그리고 것 들을 난독 처리 하는 데 도움이. 최종 사용자 보기 이벤트 있는지 모르는 경우, 그들은 아마 그것을 사용 하려고 하지 않습니다.. 때로는, 충분히 좋은.
행운이 함께, 시간이 지남에이 주제에 쓸 더 야.
</끝>
내 블로그를 구독.
에 지 저 귐에 나를 따르라합니다 http://www.twitter.com/pagalvin