UseSSO with a custom name for the application?

Topics: Bindings File, Settings Management and SSO
Jul 31, 2012 at 6:21 AM

Hi,

I wanted to use the BTDF framework for all my deployment need. It has been of great help so far. the only thing pending to automate for me is the SSO App. We had used Richard Seroter's tool for creating Apps but it comes with the pain of deployment. Now I see that in BTDF , there is already a feature that can be used and it will make the deployment much easier.

However, as I read the SSO Application name defaults tot he project name. Is there a way to customize the name?  My common solution have multiple SSO Apps, what can be done in that case? Please suggest.

Aug 1, 2012 at 11:06 AM
Edited Aug 1, 2012 at 11:07 AM

Hi Sajid,

You could have a custom SSO Application name by following the below steps:--

Step 1 : Set the IncludeSSO as false

<!-- SSO is deployed via custom target and not through the built-in DeploySSO BTDF target   -->
<IncludeSSO>False</IncludeSSO>
 

Step 2 : Add a new Custom target (code given below) right at the bottom of the BTDF file just prior to the </Project> tag

<Target Name="CustomSSODeployment">
  <PropertyGroup>
   <CustomSSOApplicationName>CustomSSOApplicationName</CustomSSOApplicationName>
  </PropertyGroup>
 <!-- Delete affiliate application and associated settings. -->
  <Exec Command=""$(DeployTools)\SSOSettingsFileImport.exe" "$(CustomSSOApplicationName)" /deleteApp" /> 
 
 <!-- Create affiliate application and import settings file into SSO -->
  <Exec Command=""$(DeployTools)\SSOSettingsFileImport.exe" "$(CustomSSOApplicationName)" /settingsFile:"$(SettingsFilePath)" /userGroupName:"$(SsoAppUserGroup)" /adminGroupName:"$(SsoAppAdminGroup)"" /> 
 
 <!--  Make sure to always access the project (and install path) at run time -->
  <UpdateSSOConfigItem BizTalkAppName="$(CustomSSOApplicationName)" SSOItemName="ProjectPath" SSOItemValue="$(MSBuildProjectDirectoryParent)" />
  <UpdateSSOConfigItem BizTalkAppName="$(CustomSSOApplicationName)" SSOItemName="SourceSettingsFile" SSOItemValue="$(SettingsFilePath)" />
</Target>

==========================================================================

I am not sure how practical it would be for a single BizTalk application to reference multiple SSO Apps. Could you please elaborate on that ?

Thanks,
Avinandan

Coordinator
Aug 6, 2012 at 4:09 AM

You can do any custom work to deploy additional SSO settings or completely different SSO applications by defining a Target element in your .btdfproj with the name CustomSSO.  To use this you must leave IncludeSSO set to True.  The CustomSSO target will be called during the normal SSO deployment.  You can use the built-in UpdateSSOConfigItem MSBuild task to inject individual items into an SSO application, or call $(DeployTools)\SSOSettingsFileImport.exe to import settings XML files (usually exported from a SettingsFileGenerator.xml Excel workbook).

If you want to completely replace the built-in SSO deployment process, you can copy and paste the entire DeploySSO Target from BizTalkDeploymentFramework.targets into your .btdfproj, then customize it as you like.  Your target will be called instead of the default target.

Thanks,
Tom

Aug 8, 2012 at 5:47 AM

Thanks Avinandan and Tom. I just saw the replies. I will give it a try.

As far as the usage is concern. I am using the SSO App for storing custom UserCredentials and Authorization rules which will be common for all applications. My common framework Application will only use these two Apps for authentication and Authorization .