2017-12-29 7 views
0

스트림을 통해 내용을 읽는 보고서 서버에서 보고서를 작성하는 mvc 응용 프로그램이 있습니다. 이제 내가해야 할 일은 SSRS2016에 대한 CustomAuthentication을 만들어 게스트 사용자로 자동 로그인 할 수 있도록하는 것입니다 (자격 증명은 현재 설정에 저장되어 있습니다). CustomAuthentication의 "방법"을 설명하는 모든 링크에는 로그인 페이지가 있습니다.SSRS 2016 사용자 지정 인증

나는 그것을 만들 필요가 있습니까 ??

사용자 IAuthenticationExtension을 사용해야하지만 사용자가 서버에 로그인하는 것을 원하지 않으며 대부분의 소스에서 이러한 db를 사용하므로 사용자 이름과 암호가 포함 된 데이터베이스가 필요하지 않습니다.

기존 LogonUser (string userName, string password, string auth) 대신 페이지를 만들 필요가 없다면 어떻게해야합니까?

답변

1

link이 도움이되는지 확인하십시오. 또는 다음과 같이 시도하십시오.

internal class ReportCredentials : IReportServerCredentials 
    { 
     private string strUserName; 
     private string strPassword; 
     private string strDomain; 

     public ReportCredentials(string strUserName, string strPassword, string strDomain) 
     { 
      this.strUserName = strUserName; 
      this.strPassword = strPassword; 
      this.strDomain = strDomain; 
     } 
     public System.Security.Principal.WindowsIdentity ImpersonationUser 
     { 
      get { return null; } 
     } 

     public ICredentials NetworkCredentials 
     { 
      get { return new NetworkCredential(strUserName, strPassword, strDomain); } 
     } 

     public bool GetFormsCredentials(out Cookie authCookie, out string user, 
     out string password, out string authority) 
     { 
      authCookie = null; 
      user = password = authority = null; 
      return false; 
     } 
    } 

string strUserName = ConfigurationManager.AppSettings["userName"].ToString(); 
string strPassword = ConfigurationManager.AppSettings["password"].ToString(); 
string strDomain = ConfigurationManager.AppSettings["domain"].ToString(); 

ReportViewer1.ServerReport.ReportServerCredentials = new ReportCredentials(strUserName, strPassword, strDomain);