示例#1
0
        private void Epay3AspNetApplication_LoggingOn(object sender, LogonEventArgs e)
        {
            MyLogonParameters param = (MyLogonParameters)e.LogonParameters;

            var client = param.Client;

            // todo security
            // sanitize param.Client

            if (string.IsNullOrWhiteSpace(client))
            {
                if (!Debugger.IsAttached)
                {
                    throw new UserFriendlyException("Please enter your client name");
                }
            }
            else
            {
                string connectionString = ConfigurationManager.AppSettings["RDS_DB_NAME"];
                if (connectionString == null)
                {
                    //
                    connectionString = ConfigurationManager.ConnectionStrings["ConnectionStringTenant"].ConnectionString;
                }
                var connectionStringOfTenant = connectionString.Replace("TENANT_SCHEMA", "epay3." + client);
                WebApplication.Instance.ConnectionString = connectionStringOfTenant;

                module3.Client = client;
            }
        }
示例#2
0
        protected override void OnLoggingOn(LogonEventArgs args)
        {
            MyLogonParameters parameters = (MyLogonParameters)args.LogonParameters;

            if (parameters.SecurityType == SecurityType.Complex)
            {
                ISecurity security = null;
                security = new SecurityComplex(typeof(User), typeof(Role), new AuthenticationStandard(typeof(User), parameters.GetType()));
                SecuritySystem.SetInstance(security);
                this.Security = security;
                ((MyLogonParameters)SecuritySystem.Instance.LogonParameters).UserName = parameters.UserName;
                ((MyLogonParameters)SecuritySystem.Instance.LogonParameters).Password = parameters.Password;
            }
            base.OnLoggingOn(args);
        }