Skip to Content
.NET Domain-Driven Design with C#: Problem – Design – Solution
book

.NET Domain-Driven Design with C#: Problem – Design – Solution

by Tim McCarthy
April 2008
Intermediate to advanced
430 pages
10h
English
Wrox
Content preview from .NET Domain-Driven Design with C#: Problem – Design – Solution

Chapter 11. The Client Membership System

In the last chapter, I talked about synchronizing data with the server and how important it was to be able to work offline. In this chapter, I am going to discuss how to implement membership features, such as authentication, in an offline scenario.

The Problem

Now that the application has a nice, service-based way of working offline and synchronizing all of its data with the server, there needs to be a way to enable authentication and authorization while offline as well.

Users should be able to authenticate (i.e., log in to the application) and be able to perform work based on their assigned role(s) in the system. This is easy to do in an online ASP.NET application using the ASP.NET Membership System, but it is a lot trickier in a smart client application. One way of implementing these features is to call web services on the server that will authenticate the user and provide authorization information. The web services could actually wrap methods on the ASP.NET Membership System. The problem with that approach in the SmartCA application is that it requires that the user has a network or Internet connection, and if you remember from Chapter 1, the users sometimes are out in the middle of nowhere with no access to any type of network connection.

The Design

Since I already have a nice data synchronization strategy in place, why not use that to help solve the problem of performing membership tasks offline? After thinking about it for a while, I thought, ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Design Patterns in .NET: Reusable Approaches in C# and F# for Object-Oriented Software Design

Design Patterns in .NET: Reusable Approaches in C# and F# for Object-Oriented Software Design

Dmitri Nesteruk
Hands-On Design Patterns with C# and .NET Core

Hands-On Design Patterns with C# and .NET Core

Gaurav Aroraa, Jeffrey Chilberto

Publisher Resources

ISBN: 9780470147566Purchase book