2013-01-09 2 views
1

• OOB SP 논리를 사용하는 대신 사용자 지정 논리를 실행하려면 SP 2010에서 권한 부여 메커니즘을 재정의 할 수 있습니다 (클레임 인증 시나리오). 내가 재정의 할 때 SP 권한과 상관없이 논리를 통해 모든 요청 리소스에 대한 액세스를 허용/거부 할 수 있어야한다는 것을 의미합니다. • 다른 토론을 통해 SP 2010에서 권한 부여 메커니즘을 재정의 할 수는 없지만 모듈 (모듈 등)은 어느 정도까지 사용자 정의가 가능함을 이해하게되었습니다. • SP가 인증을 수행하고 인증 된 사용자의 클레임을 변환/추가/제거하기 전에 "이전에"사용자 지정 논리를 삽입 할 수 있음을 이미 알고 있습니다. 그러나 우리가 가지고있는 요구 사항은 사용자 지정 클레임 공급자에 의해 해결 될 수 없습니다. 왜냐하면 요청에서 액세스되는 리소스 (URL 액세스 제외)를 알 수 없기 때문입니다. 즉, SP가 권한 부여 결정을 내릴 때마다 우리의 논리가 실행되기를 원하기 때문에 어떤 리소스가 액세스되고 있는지를 알 수 있도록 계산을 결정할 때이를 기반으로합니다.Sharepoint 2010 권한 부여 클레임 인증

답변

1

SPSessionAuthenticationModule에서 이벤트를 처리하고 사용자 정의 논리를 수행 할 수 있습니다. 특히 SessionSecurityTokenReceived 이벤트를 재정의하여 토큰 콘텐츠를 검사하고 해당 내용을 기반으로 사용자 지정 작업을 수행 할 수 있습니다. HttpContext.Current, URL, 내용 요청 등을 검사 할 수도 있습니다.

이 샘플 코드는 SharePoint Application Global.asax 파일에 추가 할 수 있습니다.

<script runat="server"> 
public override void Init() 
{ 
    FederatedAuthentication.SessionAuthenticationModule.SessionSecurityTokenReceived += new EventHandler<SessionSecurityTokenReceivedEventArgs>(SessionAuthenticationModule_SessionSecurityTokenReceived); 

    base.Init(); 
} 

void SessionAuthenticationModule_SessionSecurityTokenReceived(object sender, SessionSecurityTokenReceivedEventArgs e) 
{ 
    DateTime validFrom = e.SessionToken.ValidFrom; 
    DateTime validTo = e.SessionToken.ValidTo; 
    ... 

} 
</script> 
+0

이것은 내가 찾고있는 것이 아닙니다. 그러면 클레임을 검사하고 수정할 수 있습니다. 제가 관심있어하는 것은 * authorization * override입니다. 제 질문을 다시 읽어주십시오. SP가 인증이 아닌 authrization 결정을 할 때마다 실행될 내 코드를 연결하고 싶습니다. – rahulga