2012-01-05 6 views
-1

私はWebサービスにElmahのログを追加しようとしています。ユーザーは有効なユーザーであることを確認するために認証されますが、本当にログインしたことはありません。このため、ELMAHによってエラーがスローされ記録されると、ユーザー名は常に空白になります。その値をプログラムで実装できると便利ですが、これを行う方法は見つけられません。ユーザがログインしなくても例外時にユーザを変更することはできますか?

私のコードは非常に単純です:

public static void Add(Exception ex) 
{ 
    try 
    { 
     ErrorSignal.FromCurrentContext().Raise(ex); 
    } 
    catch (Exception ex2) 
    { 
     throw ex2; 
    } 
} 

私たちは、ユーザー名を指定してカスタム例外を作成する方法を見つけるように見えることはできません。

+1

好奇心をそそらない - ユーザーをログインさせる必要がない場合、なぜユーザーを認証するのですか? –

+0

これはWebサービスなので、ユーザーがWebサービスを使用してデータベースにログオンする必要があることを確認する必要がありますが、それ以上のことは必要ありません。ユーザーをログインさせることは可能ですが、それは正しい情報が私の例外に渡されるように、コードの束を書き直すことになります。それを避けることを望んでいた。 – Cyfer13

+0

ユーザーを認証するコードはどこにありますか?一度認証されると、ユーザー名またはドメインユーザー名を格納できるはずです..あなたのコード例は本当にあまり役に立たない... – MethodMan

答えて

0

可能であれば、適切な権限を持つ偽装されたユーザーとしてWebサービスを実行することをお勧めします。これはもちろん、ユーザーの認証方法にも依存しますが、これはオプションです。ここで

は、(Webサービスのweb.configファイルに追加された)我々はこれを行う方法は次のとおりです。

<identity impersonate="true" userName="registry:HKLM\Software\OurApp\ASPNET_SETREG,userName" password="registry:HKLM\Software\OurApp\ASPNET_SETREG,password"/> 

私たちは、レジストリにドメインユーザー名とパスワードを記録するためにASPNET_SETREGユーティリティを使用して、このユーザーは、その後に責任がありますすべてのデータベースのやりとりなど。

関連する問題