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 の資格情報を使用して作成しようとするためです。