Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8385707
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 9, 20262026-06-09T17:44:29+00:00 2026-06-09T17:44:29+00:00

By security I mean data access rights, for example: Andrew only has read-only access

  • 0

By “security” I mean data access rights, for example:

  • Andrew only has read-only access to clients in France
  • Brian can update clients in France and Germany
  • Charles is an administrator, he has read and update rights for everything

I can see potential arguments for each layer.

  1. Data Access Layer

    The DAL only exposes clients to which the user has access, and passes an appropriate error up to the business layer when the user tries to do something unauthorised.

    This simplifies the upper layers, and can reduce the data traffic for users who only have access to a small fraction of the data.

  2. Business Layer

    Because this is where the business logic resides and only the business layer has the complete knowledge of how the security should be implemented.

  3. UI Layer

    A tangent argument is because the UI layer is the one that deals with authentication.
    A stronger argument is when the application has non-UI functions: calculating the daily P&L, archiving, etc. These programs don’t have a security context and creating a fictitious ‘system’ user is a maintenance nightmare.

  4. A separate layer?

    Slotted somewhere inside the 3?

I’m looking for a cogent argument which will convince me that layer X is the best for large-scale 3-Tier applications. Please refrain from ‘it depends’ answers ;-).

Thanks.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-09T17:44:30+00:00Added an answer on June 9, 2026 at 5:44 pm

    I guess this may be a subjective topic. Nevertheless, we follow the principle to never trust any external source (e.g. data crossing a service boundary). Typically, modern applications are a bit different from the old client-server three-tier model, since they are usually service-oriented (I see a web server is also as a service).

    This rules out the delegation of access checks to the client – the client may know about the allowed access and use this information to behave differently (e.g. not offer some functionality or so), but in the end only what the service (server) decides to allow counts.

    On the other hand, the database or DAL is too low, since most checks also depend on some business logic or on external information (such as user roles). So this rules out the data layer; in our environments the data access is a trusted space that does not do any checks. In the end, the DB layer and the application server form a logical unit (one could call it a fortress – as per Roger Sessions Software Fortresses book), where no service boundary exists. If the app layer accesses another service however it has to perfom checks on the received data.

    In summary, you might want to get a copy of Roger Sessions book because it does give some valuable input and food for thought on large-scale applications and how to deal with security and other issues.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I thought 2048 security violation error were mean to happen when trying to access
for security reason, what is the minimum access level the asp.net membership user could
For security reasons (I'm a developer) I do not have command line access to
Can anyone give me an example (or point me in the right direction) on
as far as i know oracle has the DATA VAULT feature.so has sql server?if
These days I read a lot here on SO about password hashing and data
For storing data offline WebApp can use: session storage, advanced version of cookies key/value
I have a directory of files that logged-in users can upload to and access.
You can always see such kind of security check for some method calls. I
I have a client app that can upload some data via a WCF service.

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.