1

ElmahツールをSitecoreソリューションに追加しましたが、実際にはここのように追加しました http://newguid.net/sitecore/2011/using-elmah-for-error-logging-within-sitecore/ 有効にしたロールの1つはallowRemoteAccessプロパティです、

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

どこからでも誰でもログを利用できるようになりましたが、sitecoreにログイン(承認)しているユーザー(sitecoreユーザー)だけにログを表示したいと思います

どうすればそれを管理できますか?

ありがとう。

4

2 に答える 2

1

今何Elmahが組み込まれているかはわかりませんが、私はこれを行っていました:

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

ASP.NETWebサイトでのElmahRSSフィードの保護

于 2013-01-10T14:52:24.210 に答える
1

elmahソースコードとこの記事http://dotnetslackers.com/articles/aspnet/Securing-ELMAH-with-Independent-HTTP-Authentication.aspxを調査した結果、解決策が見つかりました。ユーザーは、次に行ったカスタムIHttpModuleのIRequestAuthorizationHandlerを実装できます。

 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()
    {

    }
}
于 2013-01-13T13:42:49.953 に答える