Skip to Content
Professional ASP.NET 3.5 Security, Membership, and Role Management with C# and VB
book

Professional ASP.NET 3.5 Security, Membership, and Role Management with C# and VB

by Bilal Haidar, Stefan Schackow
November 2008
Intermediate to advanced
935 pages
30h 36m
English
Wrox
Content preview from Professional ASP.NET 3.5 Security, Membership, and Role Management with C# and VB

12.5. Database Schemas and the DBO User

Many of the previous topics assume that you have sufficient privileges to install the application services schemas on your database server. If you or a database administrator have rights to create databases (that is, you are in the db_creator server role), or have "dbo" rights in a preexisting database, then you can just run the aspnet_regsql tool without any worries.

However, there is a very important dependency that the current SQL-based providers have on the concept of the dbo user. If you look at any of the .sql installation scripts in the Framework's installation directory, you will see that all the tables and stored procedures are prepended with dbo:

CREATE TABLE dbo.aspnet_Membership
CREATE PROCEDURE dbo.aspnet_Membership_CreateUser

and so on.

Furthermore, the code inside of all the stored procedures explicitly references object names (that is, tables and stored procedures) using the explicit dbo username:

EXEC dbo.aspnet_Applications_CreateApplication ...
SELECT  @NewUserId = UserId FROM dbo.aspnet_Users ...

and so on.

If you disassemble any of the SQL providers with a tool like ildasm, you will also see that the providers themselves use the dbo owner name when calling stored procedures:

SqlCommand cmd = new SqlCommand("dbo.aspnet_Membership_GetUserByEmail",...);

If you install the database schemas as a member of the System Administrators role, or as a member of the Database Creators role, none of this will affect you because an SA ...

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

Professional ASP.NET 3.5 SP1 Edition: In C# and VB

Professional ASP.NET 3.5 SP1 Edition: In C# and VB

Bill Evjen, Scott Hanselman, Devin Rader
Visual Basic 2015 Unleashed

Visual Basic 2015 Unleashed

Alessandro Del Sole
Professional C# 5.0 and .NET 4.5.1

Professional C# 5.0 and .NET 4.5.1

Christian Nagel, Jay Glynn, Morgan Skinner

Publisher Resources

ISBN: 9780470379301Purchase book