Reporting Service Form驗證相關設定

摘要:Reporting Service Form驗證相關設定

  1. 需實作Microsoft.ReportingServices.Interfaces的IAuthenticationExtension、 IAuthorizationExtension
  2. 將實作完成的DLL拷貝到<install>\ReportServer\bin及<install>\ReportManager\bin目錄。
  3. 修改<install>\ReportServer 目錄的RSReportServer.config:
    • <Authentication>
              <AuthenticationTypes>
                         <Custom/>
              </AuthenticationTypes>
              <EnableAuthPersistence>true</EnableAuthPersistence>
      </Authentication>
  4. 修改 RSReportServer.config 檔:
    • <Security>
         <Extension Name="Forms" Type="{授權TypeName}" >
            <Configuration>
               <AdminConfiguration>
                  <UserName>username</UserName>
               </AdminConfiguration>
            </Configuration>
         </Extension>
      </Security>
      <Authentication>
         <Extension Name="Forms" Type="{驗證TypeName}" />
      </Authentication>
  5. 設定Login的頁面:
    • <UI>
         <CustomAuthenticationUI>
            <loginUrl>{路徑}</loginUrl>
               <UseSSL>True</UseSSL>
         </CustomAuthenticationUI>
         <ReportServerUrl>http://<server>/ReportServer</ReportServerUrl>
      </UI>
  6. 修改 <install>\ReportServer 目錄中的 RSSrvPolicy.config 檔:
    • 加入
      <CodeGroup
         class="UnionCodeGroup"
         version="1"
         Name="SecurityExtensionCodeGroup"
         Description="Code group for the sample security extension"
         PermissionSetName="FullTrust">
         <IMembershipCondition 
            class="UrlMembershipCondition"
            version="1"
            Url="{DLL路徑}"
         />
      </CodeGroup>
  7. 修改<install>\ReportManager 目錄中的 RSMgrPolicy.config 檔:
    • 尋找Zone為MyComputer的CodeGroup,將PermissionSetName 屬性由 Execution 變更為 FullTrust。
  8. 修改<install>\ReportManager 目錄的 Web.config 檔:
    • impersonate設為false。

 

參考連結:http://msdn.microsoft.com/zh-tw/library/ms155029.aspx