現在、SSRSを使用しているいくつかの問題があります。 Windows認証を使用するASP.NET Webサイトがあります。それはうまく動作し、私は現在のユーザーが現在ログオンしているWebサイトを知っています。SSRSを使用したWindows認証ASP.NET ReportViewerとWebサービス
このサイトには、webforms ReportViewerがあります。資格情報を設定しないとうまく動作します。 SQL Serverのレポートの実行ログを見ると、UsernameはDOMAIN \ MACHINEとして表示されます。
私は以下のようなクラスにReportServerCredentialsプロパティを設定しようとしました:このコードは、私が今、Webサービスおよびレポートから戻って401を取得する実行
[Serializable]
public class ReportCredentials : IReportServerCredentials
{
public bool GetFormsCredentials(out Cookie authCookie, out string userName, out string password, out string authority)
{
authCookie = null;
userName = null;
password = null;
authority = null;
return false;
}
public WindowsIdentity ImpersonationUser
{
get {
return (WindowsIdentity)HttpContext.Current.User.Identity;
}
}
public ICredentials NetworkCredentials
{
get {
return null;
}
}
}しかし
、サービス。
何が起こっているのですか?彼らは両方とも同じドメインにいます。私は現在のマシンではなく、現在のユーザを使用したい。レポートサーバー上でレポートを実行すると、正しいユーザー名の下にリストされます。私のWebサイトからは表示されません。私はここで自分の悩みを持つが、最終的に成功したた
return WindowsIdentity.GetCurrent();
葉が、私は実際に私がキャッシュされている必要があります、嘘をつく最初が、それでも401 :( – Lloyd
を得たことを試してみました。報告書は現在実行されますが、ユーザ名はマシンです\t STAFF \ UKBRISDDWRKA424 $として記録されている。grrrが。 – Lloyd