Author: bendewey
Date: Thu Mar  4 02:41:05 2010
New Revision: 918824

URL: http://svn.apache.org/viewvc?rev=918824&view=rev
Log:
JIRA: STONEHENGE-103
Updated .NET Stocktrader to support username with Transport Security, Thanks
Submitted by: Pablo Cibraro

Added:
    
incubator/stonehenge/trunk/stocktrader/dotnet/common/StockTraderUtility/PermissiveCertificatePolicy.cs
    
incubator/stonehenge/trunk/stocktrader/dotnet/order_processor/OrderProcessorImplementation/TradeOPSCustomUserNameValidator.cs
Removed:
    
incubator/stonehenge/trunk/stocktrader/dotnet/common/StockTraderUtility/ConfigCertificatePolicy.cs
Modified:
    
incubator/stonehenge/trunk/stocktrader/dotnet/business_service/BusinessServiceConfigurationSettings/Settings.cs
    
incubator/stonehenge/trunk/stocktrader/dotnet/business_service/BusinessServiceConsole/App.config
    
incubator/stonehenge/trunk/stocktrader/dotnet/business_service/BusinessServiceConsole/Program.cs
    
incubator/stonehenge/trunk/stocktrader/dotnet/business_service/OrderProcessorASyncClient/OrderProcessorAsyncClient.cs
    incubator/stonehenge/trunk/stocktrader/dotnet/common/DALSQLServer/Config.cs
    
incubator/stonehenge/trunk/stocktrader/dotnet/common/OrderProcessorServiceConfigurationSettings/Settings.cs
    
incubator/stonehenge/trunk/stocktrader/dotnet/common/StockTraderUtility/Utility.csproj
    
incubator/stonehenge/trunk/stocktrader/dotnet/order_processor/OrderProcessorConsoleServiceHost/App.config
    
incubator/stonehenge/trunk/stocktrader/dotnet/order_processor/OrderProcessorConsoleServiceHost/Program.cs
    
incubator/stonehenge/trunk/stocktrader/dotnet/order_processor/OrderProcessorImplementation/OrderProcessorImplementation.csproj
    
incubator/stonehenge/trunk/stocktrader/dotnet/setup_utilities/DataLoad/insertdbconfig.sql

Modified: 
incubator/stonehenge/trunk/stocktrader/dotnet/business_service/BusinessServiceConfigurationSettings/Settings.cs
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/dotnet/business_service/BusinessServiceConfigurationSettings/Settings.cs?rev=918824&r1=918823&r2=918824&view=diff
==============================================================================
--- 
incubator/stonehenge/trunk/stocktrader/dotnet/business_service/BusinessServiceConfigurationSettings/Settings.cs
 (original)
+++ 
incubator/stonehenge/trunk/stocktrader/dotnet/business_service/BusinessServiceConfigurationSettings/Settings.cs
 Thu Mar  4 02:41:05 2010
@@ -93,7 +93,10 @@
         public static string BSL_VALID_USERID;
         public static string BSL_VALID_PASSWORD;
         public static string BS_LABEL;
-
+        public static string OPS_LABEL;
+        public static string OPS_USERID;
+        public static string OPS_PASSWORD;
+        public static string OPS_SSL_CERTIFICATE;
         
         //End Repository Settings -----------------------------------
 
@@ -107,7 +110,7 @@
         //set on startup based on config settings from repository
         public static int TRANSACTION_MODEL = -1;
 
-        public Settings()
+        static Settings()
         {
 
             Settings.CS_DOTNET_ENDPOINT_CONFIG_HTTP = 
ConfigurationManager.AppSettings.Get("CS_DOTNET_ENDPOINT_CONFIG_HTTP");
@@ -124,6 +127,11 @@
             Settings.BSL_VALID_USERID = 
ConfigurationManager.AppSettings.Get("BSL_VALID_USERID");
             Settings.BSL_VALID_PASSWORD = 
ConfigurationManager.AppSettings.Get("BSL_VALID_PASSWORD");
             Settings.BS_LABEL = 
ConfigurationManager.AppSettings.Get("BS_LABEL");
+            Settings.OPS_LABEL = 
ConfigurationManager.AppSettings.Get("OPS_LABEL");
+            Settings.OPS_USERID = 
ConfigurationManager.AppSettings.Get("OPS_USERID");
+            Settings.OPS_PASSWORD = 
ConfigurationManager.AppSettings.Get("OPS_PASSWORD");
+            Settings.OPS_SSL_CERTIFICATE = 
ConfigurationManager.AppSettings.Get("OPS_SSL_CERTIFICATE");
+            
             buildConnString();
             setTxModel();
         }
@@ -153,7 +161,7 @@
         /// This method builds a connection string based on DAL setting and 
settings for the database name, location, uid and password.
         /// Called on host initialization and also when the DAL or DB 
connection parameters are changed via ConfigWeb.
         /// </summary>
-        private void buildConnString()
+        private static void buildConnString()
         {
             switch (Settings.DAL)
             {

Modified: 
incubator/stonehenge/trunk/stocktrader/dotnet/business_service/BusinessServiceConsole/App.config
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/dotnet/business_service/BusinessServiceConsole/App.config?rev=918824&r1=918823&r2=918824&view=diff
==============================================================================
--- 
incubator/stonehenge/trunk/stocktrader/dotnet/business_service/BusinessServiceConsole/App.config
 (original)
+++ 
incubator/stonehenge/trunk/stocktrader/dotnet/business_service/BusinessServiceConsole/App.config
 Thu Mar  4 02:41:05 2010
@@ -51,7 +51,9 @@
     <add key="CS_DOTNET_ENDPOINT_CONFIG_HTTP" 
value="ConfigClient_BasicHttpBinding"/>
     <add key="DOTNET_OPS" value="OpsClient_BasicHttpBinding" />
     <add key="DOTNET_OPSSEC" value="OpsClient_WsHttpBinding_MSec" />
+    <add key="DOTNET_OPSTSEC" value="OpsClient_WsHttpBinding_TSec" />
     <add key="METRO_OPS" value="OpsClient_BasicHttpBinding" />
+    <add key="METRO_OPSSC" value="OpsClient_WsHttpBinding_TSec" />
     <add key="METRO_OPSSEC" value="OpsClient_WsHttpBinding_MSec" />
     <add key="PHP_OPS" value="OpsClient_BasicHttpBinding" />
     <add key="PHP_OPSSEC" value="OpsClient_WsHttpBinding_MSec" />
@@ -62,6 +64,10 @@
 
     <add key="ClientSettingsProvider.ServiceUri" value="" />
     <add key="BS_LABEL" value="DOTNET_BS"/>
+    <add key="OPS_LABEL" value="DOTNET_OPSTSEC"/>
+    <add key="OPS_USERID" value="uid:0"/>
+    <add key="OPS_PASSWORD" value="xxx"/>
+    <add key="OPS_SSL_CERTIFICATE" value="CN=OPS.Com"/>
 
   </appSettings>
   <runtime>
@@ -142,6 +148,15 @@
         </identity>
       </endpoint>
 
+      <endpoint address="https://localhost:8005/tradeorderprocessor";
+                contract="Trade.OrderProcessorContract.IOrderProcessor"
+                binding="wsHttpBinding"
+                bindingConfiguration="OpsClient_WsHttpBinding_TSec"
+                name="OpsClient_WsHttpBinding_TSec">
+                <identity>
+                   <dns value="OPS.Com"/>
+                </identity>
+      </endpoint>
     </client>
 
 
@@ -185,8 +200,15 @@
             <message clientCredentialType="Certificate" 
negotiateServiceCredential="false" algorithmSuite="Default" 
establishSecurityContext="false" />
           </security>
         </binding>
+
+        <binding name="OpsClient_WsHttpBinding_TSec">
+          <security mode="TransportWithMessageCredential">
+            <message clientCredentialType="UserName" 
negotiateServiceCredential="false" establishSecurityContext="false" />
+          </security>
+        </binding>
       </wsHttpBinding>
 
+    
     </bindings>
 
 
@@ -255,8 +277,7 @@
       </add>
     </sharedListeners>
     <trace autoflush="true"></trace>
-  </system.diagnostics>-->
-
-  
+  </system.diagnostics>-->  
 
 </configuration>
+

Modified: 
incubator/stonehenge/trunk/stocktrader/dotnet/business_service/BusinessServiceConsole/Program.cs
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/dotnet/business_service/BusinessServiceConsole/Program.cs?rev=918824&r1=918823&r2=918824&view=diff
==============================================================================
--- 
incubator/stonehenge/trunk/stocktrader/dotnet/business_service/BusinessServiceConsole/Program.cs
 (original)
+++ 
incubator/stonehenge/trunk/stocktrader/dotnet/business_service/BusinessServiceConsole/Program.cs
 Thu Mar  4 02:41:05 2010
@@ -81,6 +81,8 @@
             /// </summary>
             public void start()
             {
+                PermissiveCertificatePolicy.Enact();
+
                 string shortHostName = System.Net.Dns.GetHostName();
                 IPHostEntry myEntry = 
System.Net.Dns.GetHostEntry(shortHostName);
                 string myName = myEntry.HostName;
@@ -100,7 +102,7 @@
                 ServiceConfiguration configuration = new 
ServiceConfiguration();
                 configuration.AudienceRestriction.AudienceMode = 
System.IdentityModel.Selectors.AudienceUriMode.BearerKeyOnly;
                 configuration.IssuerNameRegistry = new 
SimpleIssuerNameRegistry();
-
+                
                 FederatedServiceCredentials.ConfigureServiceHost(serviceHost, 
configuration);
 
                 StockTraderUtility.DescribeService(serviceHost);

Modified: 
incubator/stonehenge/trunk/stocktrader/dotnet/business_service/OrderProcessorASyncClient/OrderProcessorAsyncClient.cs
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/dotnet/business_service/OrderProcessorASyncClient/OrderProcessorAsyncClient.cs?rev=918824&r1=918823&r2=918824&view=diff
==============================================================================
--- 
incubator/stonehenge/trunk/stocktrader/dotnet/business_service/OrderProcessorASyncClient/OrderProcessorAsyncClient.cs
 (original)
+++ 
incubator/stonehenge/trunk/stocktrader/dotnet/business_service/OrderProcessorASyncClient/OrderProcessorAsyncClient.cs
 Thu Mar  4 02:41:05 2010
@@ -73,7 +73,7 @@
         {
             try
             {
-                opsclient = new 
Client.Client<IOrderProcessor>(ConfigurationManager.AppSettings.Get(clientConfig),
 url);
+                opsclient = new 
Client.Client<IOrderProcessor>(ConfigurationManager.AppSettings.Get(clientConfig),
 url, Settings.OPS_USERID, Settings.OPS_PASSWORD);
             }
             catch
             {

Modified: 
incubator/stonehenge/trunk/stocktrader/dotnet/common/DALSQLServer/Config.cs
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/dotnet/common/DALSQLServer/Config.cs?rev=918824&r1=918823&r2=918824&view=diff
==============================================================================
--- incubator/stonehenge/trunk/stocktrader/dotnet/common/DALSQLServer/Config.cs 
(original)
+++ incubator/stonehenge/trunk/stocktrader/dotnet/common/DALSQLServer/Config.cs 
Thu Mar  4 02:41:05 2010
@@ -120,10 +120,10 @@
         private const string SQL_FIND_SERVICE = @"SET NOCOUNT ON; SELECT 
SERVICENAME, URL, SEC FROM dbo.SERVICE WHERE SERVICENAME = @ServiceName";
         private const string SQL_SET_BS_TO_OPS = @"INSERT INTO dbo.BSTOOPS 
(BS, OPS) VALUES (@Bs, @Ops)";
         private const string SQL_UPDATE_BS_TO_OPS = @"UPDATE dbo.BSTOOPS WITH 
(ROWLOCK) SET o...@ops WHERE b...@bs";
-        private const string SQL_COUNT_BS = @"SELECT COUNT(*) as count FROM 
dbo.SERVICE WHERE SERVICENAME LIKE '%_BS' OR SERVICENAME LIKE '%_BSSEC'";
-        private const string SQL_COUNT_OPS = @"SELECT COUNT(*) as count FROM 
dbo.SERVICE WHERE SERVICENAME LIKE '%_OPS' OR SERVICENAME LIKE '%_OPSSEC'";
-        private const string SQL_GET_BS = @"SELECT SERVICENAME, URL, SEC FROM 
dbo.SERVICE WHERE SERVICENAME LIKE '%_BS' OR SERVICENAME LIKE '%_BSSEC'";
-        private const string SQL_GET_OPS = @"SELECT SERVICENAME, URL, SEC FROM 
dbo.SERVICE WHERE SERVICENAME LIKE '%_OPS' OR SERVICENAME LIKE '%_OPSSEC'";
+        private const string SQL_COUNT_BS = @"SELECT COUNT(*) as count FROM 
dbo.SERVICE WHERE SERVICENAME LIKE '%_BS%'";
+        private const string SQL_COUNT_OPS = @"SELECT COUNT(*) as count FROM 
dbo.SERVICE WHERE SERVICENAME LIKE '%_OPS%'";
+        private const string SQL_GET_BS = @"SELECT SERVICENAME, URL, SEC FROM 
dbo.SERVICE WHERE SERVICENAME LIKE '%_BS%'";
+        private const string SQL_GET_OPS = @"SELECT SERVICENAME, URL, SEC FROM 
dbo.SERVICE WHERE SERVICENAME LIKE '%_OPS%'";
         private const string SQL_UPDATE_SERVICE_LOCATION = @"UPDATE 
dbo.SERVICE WITH (ROWLOCK) SET URL = @Url, SEC = @Sec WHERE SERVICENAME = 
@ServiceName";
         private const string SQL_INSERT_SERVICE_LOCATION = @"INSERT INTO 
dbo.SERVICE (SERVICENAME, URL, SEC) VALUES (@ServiceName, @Url, @Sec)";
 

Modified: 
incubator/stonehenge/trunk/stocktrader/dotnet/common/OrderProcessorServiceConfigurationSettings/Settings.cs
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/dotnet/common/OrderProcessorServiceConfigurationSettings/Settings.cs?rev=918824&r1=918823&r2=918824&view=diff
==============================================================================
--- 
incubator/stonehenge/trunk/stocktrader/dotnet/common/OrderProcessorServiceConfigurationSettings/Settings.cs
 (original)
+++ 
incubator/stonehenge/trunk/stocktrader/dotnet/common/OrderProcessorServiceConfigurationSettings/Settings.cs
 Thu Mar  4 02:41:05 2010
@@ -76,6 +76,8 @@
         public static string ORDER_PROCESSING_BEHAVIOR;
         public static int DISPLAYNUMBERORDERITERATIONS;
         public static string OPS_LABEL;
+        public static string OPS_USERID;
+        public static string OPS_PASSWORD;
 
         public Settings()
         {
@@ -88,6 +90,8 @@
             Settings.ORDER_PROCESSING_BEHAVIOR = 
ConfigurationManager.AppSettings.Get("ORDER_PROCESSING_BEHAVIOR");
             Settings.DISPLAYNUMBERORDERITERATIONS = 
Convert.ToInt32(ConfigurationManager.AppSettings.Get("DISPLAYNUMBERORDERITERATIONS"));
             Settings.OPS_LABEL = 
ConfigurationManager.AppSettings.Get("OPS_LABEL");
+            Settings.OPS_USERID = 
ConfigurationManager.AppSettings.Get("OPS_USERID");
+            Settings.OPS_PASSWORD = 
ConfigurationManager.AppSettings.Get("OPS_PASSWORD");
             buildConnString();
         }
 

Added: 
incubator/stonehenge/trunk/stocktrader/dotnet/common/StockTraderUtility/PermissiveCertificatePolicy.cs
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/dotnet/common/StockTraderUtility/PermissiveCertificatePolicy.cs?rev=918824&view=auto
==============================================================================
--- 
incubator/stonehenge/trunk/stocktrader/dotnet/common/StockTraderUtility/PermissiveCertificatePolicy.cs
 (added)
+++ 
incubator/stonehenge/trunk/stocktrader/dotnet/common/StockTraderUtility/PermissiveCertificatePolicy.cs
 Thu Mar  4 02:41:05 2010
@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Net;
+using System.Net.Security;
+using System.Security.Cryptography.X509Certificates;
+
+namespace Trade.Utility
+{
+    public class PermissiveCertificatePolicy
+    {
+        public static void Enact()
+        {
+            ServicePointManager.ServerCertificateValidationCallback += new 
RemoteCertificateValidationCallback(RemoteCertValidate);
+        }
+
+        static bool RemoteCertValidate(object sender, X509Certificate cert, 
X509Chain chain, System.Net.Security.SslPolicyErrors error)
+        {
+            return true;
+        }
+    }
+}

Modified: 
incubator/stonehenge/trunk/stocktrader/dotnet/common/StockTraderUtility/Utility.csproj
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/dotnet/common/StockTraderUtility/Utility.csproj?rev=918824&r1=918823&r2=918824&view=diff
==============================================================================
--- 
incubator/stonehenge/trunk/stocktrader/dotnet/common/StockTraderUtility/Utility.csproj
 (original)
+++ 
incubator/stonehenge/trunk/stocktrader/dotnet/common/StockTraderUtility/Utility.csproj
 Thu Mar  4 02:41:05 2010
@@ -67,7 +67,6 @@
   </ItemGroup>
   <ItemGroup>
     <Compile Include="CertificateUtil.cs" />
-    <Compile Include="ConfigCertificatePolicy.cs" />
     <Compile Include="Cryptography.cs" />
     <Compile Include="Loggers\ConsoleLogger.cs" />
     <Compile Include="CustomCertificateValidator.cs" />
@@ -75,6 +74,7 @@
     <Compile Include="Loggers\EventViewerLogger.cs" />
     <Compile Include="Loggers\ILogger.cs" />
     <Compile Include="Loggers\NullLogger.cs" />
+    <Compile Include="PermissiveCertificatePolicy.cs" />
     <Compile Include="SimpleIssuerNameRegistry.cs" />
     <Compile Include="SQLHelper.cs" />
     <Compile Include="Utility.cs" />

Modified: 
incubator/stonehenge/trunk/stocktrader/dotnet/order_processor/OrderProcessorConsoleServiceHost/App.config
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/dotnet/order_processor/OrderProcessorConsoleServiceHost/App.config?rev=918824&r1=918823&r2=918824&view=diff
==============================================================================
--- 
incubator/stonehenge/trunk/stocktrader/dotnet/order_processor/OrderProcessorConsoleServiceHost/App.config
 (original)
+++ 
incubator/stonehenge/trunk/stocktrader/dotnet/order_processor/OrderProcessorConsoleServiceHost/App.config
 Thu Mar  4 02:41:05 2010
@@ -35,7 +35,9 @@
     <add key="DISPLAYNUMBERORDERITERATIONS" value="3" />
     <add key="CS_DOTNET_ENDPOINT_CONFIG_HTTP" 
value="ConfigClient_BasicHttpBinding"/>
     <add key="OPS_LABEL" value="DOTNET_OPS"/>
-
+    <add key="OPS_USERID" value="uid:0"/>
+    <add key="OPS_PASSWORD" value="xxx"/>
+    
     <!--Possible values for logger mode: CONSOLE, EVENT_VIEWER-->
     <add key="LOGGER_MODE" value="CONSOLE"/>
     <add key="EVENT_LOG" value="Trade Order Processor"/>
@@ -60,7 +62,6 @@
        Windows Communication Foundation.  
    -->
   <system.serviceModel>
-   
     <services>
       <service name="Trade.OrderProcessorImplementation.OrderProcessor" 
                behaviorConfiguration="OpsHost_MSec_Behavior">
@@ -75,6 +76,12 @@
                   bindingConfiguration="OpsHost_WsHttpBinding_MSec"
                   contract ="Trade.OrderProcessorContract.IOrderProcessor"
                   />
+
+        <endpoint binding="wsHttpBinding"
+                  bindingConfiguration="OpsHost_WsHttpBinding_TSec"
+                  contract ="Trade.OrderProcessorContract.IOrderProcessor"
+                  />
+        
         <endpoint address="Mex"
                   binding="mexHttpBinding"
                   contract="IMetadataExchange" />
@@ -103,6 +110,13 @@
             <message clientCredentialType="Certificate" 
negotiateServiceCredential="false" establishSecurityContext="false"/>
           </security>
         </binding>
+        
+        <binding name="OpsHost_WsHttpBinding_TSec">
+          <security mode="TransportWithMessageCredential">
+            <message clientCredentialType="UserName" 
negotiateServiceCredential="false" establishSecurityContext="false" 
algorithmSuite="Default"/>
+          </security>
+        </binding>
+        
       </wsHttpBinding>
     </bindings>
     <behaviors>
@@ -116,9 +130,12 @@
             <clientCertificate>
               <authentication certificateValidationMode="None" 
revocationMode="NoCheck" />
             </clientCertificate>
+            <userNameAuthentication userNamePasswordValidationMode="Custom" 
customUserNamePasswordValidatorType="Trade.OrderProcessorImplementation.TradeOPSCustomUserNameValidator,
 Trade.OrderProcessorImplementation"/>
           </serviceCredentials>
         </behavior>
       </serviceBehaviors>
     </behaviors>
   </system.serviceModel>
+
+ 
 </configuration>

Modified: 
incubator/stonehenge/trunk/stocktrader/dotnet/order_processor/OrderProcessorConsoleServiceHost/Program.cs
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/dotnet/order_processor/OrderProcessorConsoleServiceHost/Program.cs?rev=918824&r1=918823&r2=918824&view=diff
==============================================================================
--- 
incubator/stonehenge/trunk/stocktrader/dotnet/order_processor/OrderProcessorConsoleServiceHost/Program.cs
 (original)
+++ 
incubator/stonehenge/trunk/stocktrader/dotnet/order_processor/OrderProcessorConsoleServiceHost/Program.cs
 Thu Mar  4 02:41:05 2010
@@ -72,10 +72,11 @@
                 Settings thisSettings = new Settings();
 
                 Uri TradeServiceUriBase = new Uri("http://"; + myName + 
":8000/tradeorderprocessor");
+                Uri TradeServiceSecUriBase = new Uri("https://"; + myName + 
":8005/tradeorderprocessor");
 
                 //Create a ServiceHost for the Orderprocessor service.
                 Type serviceType = typeof(OrderProcessor);
-                host = new ServiceHost(serviceType, TradeServiceUriBase);
+                host = new ServiceHost(serviceType, TradeServiceUriBase, 
TradeServiceSecUriBase);
                
                 host.Open();
 

Modified: 
incubator/stonehenge/trunk/stocktrader/dotnet/order_processor/OrderProcessorImplementation/OrderProcessorImplementation.csproj
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/dotnet/order_processor/OrderProcessorImplementation/OrderProcessorImplementation.csproj?rev=918824&r1=918823&r2=918824&view=diff
==============================================================================
--- 
incubator/stonehenge/trunk/stocktrader/dotnet/order_processor/OrderProcessorImplementation/OrderProcessorImplementation.csproj
 (original)
+++ 
incubator/stonehenge/trunk/stocktrader/dotnet/order_processor/OrderProcessorImplementation/OrderProcessorImplementation.csproj
 Thu Mar  4 02:41:05 2010
@@ -70,6 +70,7 @@
     <Compile Include="OrderProcessorService.cs" />
     <Compile Include="ProcessOrder.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="TradeOPSCustomUserNameValidator.cs" />
   </ItemGroup>
   <ItemGroup>
     <Content Include="stocktrader.snk" />

Added: 
incubator/stonehenge/trunk/stocktrader/dotnet/order_processor/OrderProcessorImplementation/TradeOPSCustomUserNameValidator.cs
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/dotnet/order_processor/OrderProcessorImplementation/TradeOPSCustomUserNameValidator.cs?rev=918824&view=auto
==============================================================================
--- 
incubator/stonehenge/trunk/stocktrader/dotnet/order_processor/OrderProcessorImplementation/TradeOPSCustomUserNameValidator.cs
 (added)
+++ 
incubator/stonehenge/trunk/stocktrader/dotnet/order_processor/OrderProcessorImplementation/TradeOPSCustomUserNameValidator.cs
 Thu Mar  4 02:41:05 2010
@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Trade.Utility;
+using Trade.OrderProcessorServiceConfigurationSettings;
+
+namespace Trade.OrderProcessorImplementation
+{
+    /// <summary>
+    /// No override necessary--we are going to use stock base methods to 
validate
+    /// against the service repository Users table.
+    /// </summary>
+    public class TradeOPSCustomUserNameValidator : CustomUserNameValidator
+    {
+        public TradeOPSCustomUserNameValidator() { }
+        /// <summary>
+        /// Overrides to instead validate the username/password against the 
Configuration DB Users table.
+        /// </summary>
+        /// <param name="userName">User id coming in as UserName credentials 
from client.</param>
+        /// <param name="password">Password coming in as UserName credentials 
from client.</param>
+        public override void Validate(string userName, string password)
+        {
+            //Add custom user name validation if desired here.  Will only be 
activated if binding security is
+            //set for ClientCredentials = UserName.
+            if (userName != Settings.OPS_USERID || password != 
Settings.OPS_PASSWORD)
+                throw new Exception("UserName Authentication Failed");
+        }
+    }
+}

Modified: 
incubator/stonehenge/trunk/stocktrader/dotnet/setup_utilities/DataLoad/insertdbconfig.sql
URL: 
http://svn.apache.org/viewvc/incubator/stonehenge/trunk/stocktrader/dotnet/setup_utilities/DataLoad/insertdbconfig.sql?rev=918824&r1=918823&r2=918824&view=diff
==============================================================================
--- 
incubator/stonehenge/trunk/stocktrader/dotnet/setup_utilities/DataLoad/insertdbconfig.sql
 (original)
+++ 
incubator/stonehenge/trunk/stocktrader/dotnet/setup_utilities/DataLoad/insertdbconfig.sql
 Thu Mar  4 02:41:05 2010
@@ -31,7 +31,9 @@
 INSERT INTO [StockTraderDB].[dbo].[SERVICE]([SERVICENAME],[URL], [SEC])
      VALUES ('DOTNET_OPS','http://localhost:8000/TradeOrderProcessor', 
'False');
 INSERT INTO [StockTraderDB].[dbo].[SERVICE]([SERVICENAME],[URL], [SEC])
-     VALUES ('DOTNET_OPSSEC','http://localhost:8000/TradeOrderProcessor/sec', 
'True');
+     VALUES ('DOTNET_OPSSEC','http://localhost:8000/TradeOrderProcessor/msec', 
'True');
+INSERT INTO [StockTraderDB].[dbo].[SERVICE]([SERVICENAME],[URL], [SEC])
+     VALUES ('DOTNET_OPSTSEC','https://localhost:8005/tradeorderprocessor', 
'True');
 INSERT INTO [StockTraderDB].[dbo].[SERVICE]([SERVICENAME],[URL], [SEC])
      VALUES 
('METRO_BS','http://localhost:8090/business_service/TradeServiceWsas', 'False');
 INSERT INTO [StockTraderDB].[dbo].[SERVICE]([SERVICENAME],[URL], [SEC])


Reply via email to