2013-01-10 2 views
1

Sitecore 사용자에 대한 로그를 보여주기 위해 구성하는 방법 http://newguid.net/sitecore/2011/using-elmah-for-error-logging-within-sitecore/ 딱 한 내가 설정 한 롤 allowRemoteAccess 속성입니다 ,ELMAH 실제로 내가 여기처럼 않았다, 단지 내 Sitecore 솔루션에 ELMAH 도구를 추가

<elmah> 
<security allowRemoteAccess="1" /> 
</elmah> 

이제 모든 장소에서 모든 사람이 로그를 사용할 수 있지만 로그인 (권한 부여) from sitecore (sitecore 사용자) 사용자에게만 표시하려고합니다.

어떻게 관리 할 수 ​​있습니까?

감사합니다. Elmah 지금에 내장했다, 그러나 나는이 작업을 수행하는 데 사용 무엇 확실하지

답변

1

나는 ELMAH 소스 코드의 연구와이 문서 http://dotnetslackers.com/articles/aspnet/Securing-ELMAH-with-Independent-HTTP-Authentication.aspx 후 해결책을 발견했다.

public class SitecoreAuthModule :IHttpModule, IRequestAuthorizationHandler 
{ 
    public bool Authorize(HttpContext context) 
    { 
     return SC.Context.User.IsAdministrator; 
    } 

    public void Init(HttpApplication context) 
    { 
     context.AuthenticateRequest += new EventHandler(ContextAuthenticateRequest); ; 
    } 

    void ContextAuthenticateRequest(object sender, EventArgs e) 
    { 
     var context = sender as HttpApplication; 
     if (context.Request.Path.IndexOf("elmah.axd", 
      StringComparison.InvariantCultureIgnoreCase) < 0) 
      return; 
    } 

    public void Dispose() 
    { 

    } 
} 
1

:

<location path="elmah.axd"> 
    <system.web> 
     <authorization> 
      <allow roles="SITECORE_USERS"/> <!---put your role here--> 
      <deny users="*"/> 
     </authorization> 
    </system.web> 
</location> 

Securing Elmah RSS Feeds in ASP.NET website

+0

안녕 감사를하지만 내 옆에서 작동하지 않습니다 : 사용자 내가 다음 한 IHttpModule 사용자 정의에 대한 IRequestAuthorizationHandler을 구현할 수 있습니다. sitecore에 대한 설정이 필요할 수도 있습니다. –

+0

사용자가 사이트 코어에서 사용하는 역할이 무엇인지 확인하십시오. 예를 들어 하나만 만들었습니다. –

+0

나는 볼 수 있지만 aspnet_Roles 테이블에서 역할을 사용하려고 시도하고 dos't 작동하지 않습니다. –