In this article we will discuss about the set up security to control user access to parts of a Visual Studio LightSwitch Application 2011.
First of all we create tables and their corresponding screens in the LightSwitch Application. For creating tables and screens in LightSwitch Application, Please visit this link "http://www.c-sharpcorner.com/1/274/visual-studio-lightswitch-2011.aspx".Step 1: Now go to properties.

Step 2: Click access control->Click user windows authentication->Click allow users specified in the users screen of your application->Write name, display name, description likes as a below image.

Step 3: Open EditableSortedProductsGrid screen->Select write code->Click EditableSortedProductsGrid_CanRun->Now write the below code.

using
System;
using
System.Linq;
using System.IO;
using
System.IO.IsolatedStorage;
using
System.Collections.Generic;
using
Microsoft.LightSwitch;
using
Microsoft.LightSwitch.Framework.Client;
using
Microsoft.LightSwitch.Presentation;
using
Microsoft.LightSwitch.Presentation.Extensions;
namespace
LightSwitchApplication
{
public partial
class Application
{
partial void
EditableSortedProductsGrid_CanRun(ref
bool result)
{
// Set result to the desired field value
result = this.User.HasPermission(Permissions.CanAccesProductScreen);
}
}
}
Step 4: Open customer table->Select write code->Click Customers_CanDelete, Customers_CanInsert, Customers_CanRead, Customers_CanUpdate->Now write the below code.

using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
using
Microsoft.LightSwitch;
using
Microsoft.LightSwitch.Security.Server;
namespace
LightSwitchApplication
{
public partial
class
ApplicationDataService
{
partial void
Customers_CanDelete(ref
bool result)
{
result = this.Application.HasPermission(Permissions.CanDeleteCustomer);
}
partial void
Customers_CanInsert(ref
bool result)
{
result = this.Application.HasPermission(Permissions.CanAddCustomer);
}
partial void
Customers_CanRead(ref
bool result)
{
result = this.Application.HasPermission(Permissions.CanViewCustomer);
}
partial void
Customers_CanUpdate(ref
bool result)
{
result = this.Application.HasPermission(Permissions.CanEditCustomer);
}
}
}
Step 5: Open SearchCustomer screen->Select write code->Click SearchCustomer_CanRun->Now write the below code.

using
System;
using
System.Linq;
using System.IO;
using
System.IO.IsolatedStorage;
using
System.Collections.Generic;
using
Microsoft.LightSwitch;
using
Microsoft.LightSwitch.Framework.Client;
using
Microsoft.LightSwitch.Presentation;
using
Microsoft.LightSwitch.Presentation.Extensions;
namespace
LightSwitchApplication
{
public partial
class Application
{
partial void
EditableSortedProductsGrid_CanRun(ref
bool result)
{
// Set result to the desired field value
result = this.User.HasPermission(Permissions.CanAccesProductScreen);
}
partial void
SearchCustomers_CanRun(ref
bool result)
{
// Set result to the desired field value
result = this.User.HasPermission(Permissions.CanViewCustomer);
}
}
}
Step 6: Run application->Open create new customer->Fill data->Save->Ok.

Step 7: Open CreateNewCustomer screen->Select write code->Click CreateNewCustomer_CanRun->Now write the below code.

using
System;
using
System.Linq;
using System.IO;
using
System.IO.IsolatedStorage;
using
System.Collections.Generic;
using
Microsoft.LightSwitch;
using
Microsoft.LightSwitch.Framework.Client;
using
Microsoft.LightSwitch.Presentation;
using
Microsoft.LightSwitch.Presentation.Extensions;
namespace
LightSwitchApplication
public partial
class Application
{
partial void
EditableSortedProductsGrid_CanRun(ref
bool result)
{
// Set result to the desired field value
result = this.User.HasPermission(Permissions.CanAccesProductScreen);
}
partial void
SearchCustomers_CanRun(ref
bool result)
{
// Set result to the desired field value
result = this.User.HasPermission(Permissions.CanViewCustomer);
}
partial void
CreateNewCustomer_CanRun(ref
bool result)
{
// Set result to the desired field value
result = this.User.HasPermission(Permissions.CanAddCustomer);
}
}
}
Step 8: Open SerchCustomer screen->command Bar->Add..->Right click->Select Edit CanExecuteCode->Now write the below code.

using
System;
using
System.Linq;
using System.IO;
using
System.IO.IsolatedStorage;
using
Microsoft.LightSwitch;
using
Microsoft.LightSwitch.Framework.Client;
using
Microsoft.LightSwitch.Presentation;
namespace
LightSwitchApplication
{
public partial
class
SearchCustomers
{
partial void
gridAddAndEditNew_CanExecute(ref
bool result)
{
// Write your code here.
result = this.Application.HasPermission(Permissions.CanAddCustomer);
}
}
}
Step 9: Run application-> + sign will not work->Now go to properties->Application type->Publish->Next->Next->Write path (where do you want the application file to be placed )->Next->Next->Enter user name->Next->Next->Next->Publish.

Step 10: Open the path where you placed the application file->Double click on setup.exe->Click install.

Step 11: Click Roles->Click + sign in roles->Fill data->Now click + sign in Permission->Select data->Save.

Step 12: Click users->Click + sign in Roles->Select data->Close window.

Step 13: Now open order management->Click CreateNewCustomer->Fill data->Save->Close window.

Step 14: Now go to view->Other windows->Output->Access control->Click use form authentication.

Step 15: Right click on OrderManagement->Publish->Client configuration->Next->Next->Next->Next->Click yes create application administrator->Enter user name, full name, word->Next->Next->Next->Publish.

Step 16: Double click on setup.exe in the source path then open the login window->Enter user name and word.

Summary
Using this article one can easily apply the authentication in the LightSwitch application. This article is very useful for authentication in LightSwitch.

Comments
Join the conversation! Your thoughts help the community grow.