title: Accessing SSAS using External User Database
body: <p>We have a BI team that have created a wonderful data warehouse that works fine for the internal staff using it through Excel on the internal network.  They use windows authentication through the domain controller, and everything works fine, including restricting the access to users and AD Groups.</p>
  
  <p>The issue is that we now want to provide the same access to a wider audience that is not part of our Windows Domain.  This is further complicated by the fact that the information on the users that need access to the system is already stored in another location (an application with a SQL database).</p>
  
  <p>The goal is to make it so that they connect (probably using HTTPS) to the cube (using Excel Analysis services integration), and be authenticated using the Username/Password that they had in the main application.</p>
  
  <p>The main application has a WCF Service interface for user authentication, and session management, so all I really need is a way to provide authentication in front of the MSMDpump.dll against that WebService.  We can also add in a Role Mapping so that we can define the SSAS roles against the users in the application.</p>
  
  <p>I was thinking that I could create a dll that has the same interface as the MSMDPUMP.dll, and have that translate calls between the client and the main dll, but this seems a bit of overkill.</p>
  
  <p>Are there any pre-built tools to do this? (and yes I know that Sharepoint can do something like this, but that's not an option so please don't suggest it).  Does anybody know of any blogs detailing how to do it?</p>
  
  <p>Any pointers in where to start with creating an interface between the 2?</p>
  
  <p>The question is similar to <a href="https://stackoverflow.com/questions/126350/how-to-secure-ms-ssas-2005-for-http-remote-access-via-internet">How to secure MS SSAS 2005 for HTTP remote access via Internet?</a> however, I'm looking at providing the authentication mechanism from another datasource, and providing the Roles to SSAS, not the users.  We don't want to have to setup a new user in SSAS for every user that is setup in the external application.</p>
  
  <p>UPDATE: To be clear, they external users need to connect to the cube using Excel, and the data returned needs to be filtered by the role they're in and the security applied in the Cube.
  We are able to cahnge the cube to use Dynamic Dimension Security and use CustomData attributes if that helps.</p>