1

BD と Windows 認証へのアクセスに統合セキュリティを使用しています。開発環境にあり、自分のマシン (Windows 資格情報) へのアカウントが付属していたとき、すべてのクエリ、挿入、および更新が正常に機能し、Windows 資格情報を使用して DB に接続しました。 .

現在、Web サーバーをリリースしているため、サービスのクエリ メソッドを次のように調整する必要がありました。

[OperationBehavior(Impersonation = ImpersonationOption.Required)]
public IQueryable<mtto_EmpleadoAdmin> GetMtto_EmpleadoAdmin()
{
    using (((WindowsIdentity)HttpContext.Current.User.Identity).Impersonate())
    {
        return this.ObjectContext.mtto_EmpleadoAdmin;
    }
}

そして、私のWebサーバーでは正しく動作し、相談し、すべての情報をもたらします

しかし、クエリ メソッドで行った変更と同様の変更を行っても、 InsertメソッドとUpdateメソッドが機能しない理由がわかりません。

 [OperationBehavior(Impersonation = ImpersonationOption.Required)]
 public void InsertMtto_EmpleadoAdmin(mtto_EmpleadoAdmin mtto_EmpleadoAdmin)
 {
     using (((WindowsIdentity)HttpContext.Current.User.Identity).Impersonate())
     {
         if ((mtto_EmpleadoAdmin.EntityState != EntityState.Detached))
         {
             this.ObjectContext.ObjectStateManager.ChangeObjectState(mtto_EmpleadoAdmin, EntityState.Added);
         }
         else
         {
             this.ObjectContext.mtto_EmpleadoAdmin.AddObject(mtto_EmpleadoAdmin);
         }
     }

 }

BD への接続でエラーが発生しました。これは、Windows の資格情報ではなく Web の資格情報を使用して作成しようとするためです。

4

0 に答える 0