Download Introduction to ASP.NET

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
ASP.NET Security
MacDonald Ch. 18
MIS 424
Professor Sandvig
Overview
Today

Security Concepts & Terminology
Authentication and Authorization
Role-based security

ASP.NET approaches:
1.
2.
3.
4.
Do it yourself
Windows authentication
Forms authentication
.NET membership provider
Security Terminology
Authentication


Process of identifying
the user
User provides
credentials



Username / Password
ID card, key, finger
print, eye scan…
Authentication done
once at login
Security Terminology
Authorization

Permissions
Which resources user is
allowed to access
Type of access


Read, write, modify,
delete, change
permissions…
Performed with every
request
Example - WWU Library
Authentication

Who are you?
WWU student
Lost Canadian
Authorization

What are you allowed to do?
WWU student

Checkout books, laptops, IIL services…
Lost Canadian

Look at books, use restrooms, stay warm
Security Terminology

Principle of least privilege
Every program and every user of the system
should operate using the least set of privileges
necessary to complete their job.

Benefits:
Protects data
Protects organization
Protects individuals
Role-based Security
Permissions assigned based upon role of
job function
Role-based Security
Create roles
Administrator
User
Student
Anonymous user
etc, etc. …
Roles are assigned specific permissions

Principle of least privilege
People are assigned to roles
Role-Based Security
Benefit
Simplifies management of permissions
Example: Roles in WWU Banner system



Students
Faculty
Administrators
Many types, each with specific permissions

Enforced at both application & DB level
ASP.NET Security
Approaches:




Do-it-yourself
Forms authentication
Windows authentication
ASP.NET Membership Provider
Do-it-yourself Authentication
Each .aspx page checks for authorization
Redirect unauthorized users to login
Single line of code:
if (Session["authenticated"] == null)
Response.Redirect("Login.aspx");
Do it yourself Authentication
Advantages



Simple
Flexible – page-by-page
Database access
Disadvantages


Need to include code in every .aspx page
Pages need to be executable
Excludes .html pages, images, etc.
Windows Authentication
Authenticate against
Windows user
accounts

Username/password
managed with
Windows (Active
Directory)
Windows Authentication
Authorization

Specify in web.config
First match algorithm

Set on each directory
Sample Page
Windows Authentication
Benefits:


Secures every file type
Use existing Windows accounts
Intranet
Not public web

Fine-level control of permissions
Limitations

Users need permissions on server
Forms Authentication
Create login page


Authenticate against any data source
database, LDAP, web service, CAS…
Login page

.aspx file
access database, other data sources

Authentication ticket issued
Encrypted cookie

Redirects back to requested page
Forms Authentication
How to Configure

Web.config file
Authentication mode=“Forms”
Root directory of application

Create Login Page
Example:

Sample
ASP.NET Membership
Drag & Drop controls


Implements Forms authentication
No code required
Automatically creates SQL Server
Database
Can define users & roles
Quite sophisticated
ASP.NET Membership Provider
ASP.NET Membership Provider
ASP.NET Membership Provider
ASP.NET Membership Provider
No code

“Magical”
Many configuration options





Password recovery
Change password control
Sends email
Create groups (programmatically)
Assign users to groups
Summary
Application Security options:




Do-it-yourself
Windows authentication
Forms authentication
ASP.NET Membership provider
Security


Complex topic
Discuss other aspects later