As to

* http://opensource.atlassian.com/confluence/oss/x/uhc

In a future release, what if we allow multiple databases to be set in
the configuration, and then retrieved via a helper class?  Maybe
something like

public class PerUserDataSource : DataSource
{
        ISqlMapper _ISqlMapper  = null;

        public PerUserDataSource( ISqlMapper sqlMapper)
        {
                _ISqlMapper  = sqlMapper;
        }

        public override string ConnectionString
        {
                get
                {
                        // build the connectionstring base on the user session 
setting
                        HttpContext currentContext = HttpContext.Current;
                        string connectionString = 
Database("custom").ConnectionString;
                        return 
connectionString.Replace(currentContext.Session["userid"]).Replace(currentContext.Session["password"]);
                }
                set { /* */ }
        }

        public override IDbProvider DbProvider
        {
                get { return 
_ISqlMapper.Database("custom").DataSource.DbProvider ; }
                set {  /* */  }
        }

        /* ... */


        <database name="default" default="true">      
                <provider name="${provider}"/>
                <dataSource name="default"  connectionString="ata
source=10.1.2.3;database=DBTest;user
id=application;password=gl0ck3nSp13L"/>
        </database>

        <database name="custom">        
                <provider name="${provider}"/>
                <dataSource name="custom"  connectionString="data
source=10.1.2.3;database=DBTest;user
id=#userid#;password=#password#"/>
        </database>

Reply via email to