In this walkthrough we will show using SharePoint 2010 Secure Store in Business Connectivity Services for integration with MS SQL using Windows Authentication by means of BCS Meta Man (the same way you may use Secure Store and SQL Server Authentication).
The Secure Store Service replaces the single sign-on (SSO) feature in SharePoint 2010. The Secure Store Service is authorization service that contains a secure database for storing credentials (e.g. user name and password) that are associated with application IDs. These application IDs can be used to authorize access to external database. Target Application IDs map users to the credentials that will be passed to the external data source. Mappings are available for groups (e.g. domain group) or individuals (e.g. local or domain users). When connecting to the external data source, the Business Connectivity Services runtime passes the mapped credentials from the Secure Store Service to the data source.
- Prerequisites:
- Microsoft Visual Studio 2010 Professional or higher
- Microsoft SharePoint Server 2010
- BCS Meta Man 2.6.0.1 or above
- At least one simple local or domain user apart from Administrator, e.g. phill.duffy
- We can make sure that our user “HERCULESphill.duffy” can’t access to MS SQL database AdventureWorksLT2008
- Now we should configure Secure Store Service Application. Open Application Management in Central Administration and then Manage Service Applications. Click Secure Store Service Application. If you first time configure Secure Store Service Application, you will be prompted to generate a key because credential database is encrypted by using a key. In the future you will be able to re-encrypt the database using a new key. Click “Generate New Key” button on the ribbon. On the Generate New Key dialog, enter a pass phrase string in the Pass Phrase edit box, and type the same string in the Confirm Pass Phrase edit box. Click “OK”
- Now we are ready to create new Secure Store Target Application.
- Click “New” to create new Secure Store Target Application. Type your Target Application ID i.e. “MSSQLWinAuth”, fill in others fields and choose “Group” as your Target Application Type and click “Next”.
- In order to specify the credential fields for your Secure Store Target Application leave the names for two new fields as default, and leave “Windows User Name” and “Windows Password” field types and click “Next”
- Add Target Application administrator and then add the users and groups that will be mapped to the credentials defined for this Target Application. There is only one local user in our case. Click “OK” button
- Click on created Target Application ID and you’ll see a drop down menu. Select “Set Credentials” item to set MS SQL impersonation credentials.
- Enter MS SQL username and password (used for Windows Authentication) that will be used for impersonation by created Secure Store Target Application. Click “OK” button
- Now we will create Business Data Connectivity Model file with BCS Meta Man and configure External Content Type to point to the “MSSQLWinAuth” Secure Store Target Application ID.
- Open Visual Studio 2010 (You should be logged in to Windows as entered user being used for impersonation. This is “HERCULESAdministrator” in our case)
- Add a New Project
- Expand the “SharePoint” node, select “Lightning Tools (2010)” node and then the “BCS Meta Man” project type
- Give your project a name i.e MSSQLSecureStoreBCSMetaManDemo and click “OK”
- On the next dialog box, enter the name of where you want to deploy your model, and click “Finish” button
- If prompted, click “Trial” on the licensing dialog
- To show the “BCS Meta Man Data Source Explorer” we need to enable it from the Menu item, this new window can be docked so it doesn’t get in your way
- Click the “Add Connection” button to show the “Connection Dialog”
- Select “SQL Server” as Data Source type, enter your MS SQL server name, choose “Use Secure Store – Windows Credentials” as Authentication Mode, enter created Secure Store Target Application ID and click “Connect” button
- The Data Source Explorer will now be populated with your MS SQL data
- We will be working with the “SalesLT”.”Address” table, to add it to the Model , just drag it from the “Data Source Explorer” onto the “Diagram”
- When you drop the table you will be shown the following dialog, we should choose “Database , click “OK”
- Accept the default entity name by clicking “Next”
- Accept the default “Identifiers” by clicking “Next”
- Accept the default 3 methods to be created, click “Generate” (The default 3 methods are: “Finder” – Returns all items, “Specific Finder” – Returns a single item by identifier, “IdEnumerator” – Returns just the Identifiers for all of the items )
- Select menu “Build”->“Deploy Solution” in Visual Studio
- Now using this instructions BCS : Access Denied. You do not have permission to access this content we will set permissions to created External Content Type “SalesLT_Address” within SharePoint 2010 for our local user “HERCULESphill.duffy”
- Now open your SharePoint page and login to the site as “HERCULESphill.duffy”. Add a new External List by selection on loaded SharePoint page “Site Action”->“More Options”->“External List”
- Click on the icon to show the available External Content Types
- Select our “MSSQLSecureStoreBCSMetaManDemo.SalesLT_Address” External Content Type, click “OK”
- Click “Create”
- Your External System data from MS SQL database is now displayed in the SharePoint External List
- If you login to the site as another user and browse created external list, you won’t be able to see the data
We hope this walkthrough will be useful for you. If you have any questions feel free to email them to support@lightningtools.com