Top Banner
AJAX Security Reporting Presented by Peter Gfader Senior Software Architect
57

ASP.NET - AJAX Security and Reporting

Nov 29, 2014

Download

Documents

Peter Gfader

AJAX History Manager
Solves
Back button
Send links



Reporting
History of reporting
Architecture
Report Life Cycle
Capabilities



ASP.NET Security
Authentication
Principal
Identity
Authorization
Role Based Security
New security features in ASP.NET 2.0
Authentication Providers
Built in ASP.NET Controls
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ASP.NET - AJAX Security and Reporting

AJAX SecurityReporting

Presented by Peter Gfader

Senior Software Architect

Page 2: ASP.NET - AJAX Security and Reporting

SSA @ SSW

Loves C# and .NET (Java not anymore)

Specializes in

Windows Forms ASP.NET TFS testing Automated tests Silverlight

Peter Gfader

Page 3: ASP.NET - AJAX Security and Reporting

On the task “Filter the ToDoList”

Add “Show all” to the drop down list

Homework?

Page 4: ASP.NET - AJAX Security and Reporting

On the task “Filter the ToDoList”

Add “Show all” to the drop down list

LinqDataSource.Where = ””;

LinqDataSource.WhereParameters.Clear();

ListView.Databind();

Homework?

Page 5: ASP.NET - AJAX Security and Reporting

Course Website

http://sharepoint.ssw.com.au/Training/UTSNET/

Course Timetable

Course Materials

Page 6: ASP.NET - AJAX Security and Reporting

Admin Stuff

Attendance

You initial sheet

Hands On Lab

You get me to initial sheet

Certificate

At end of 10 sessions If I say if you have completed successfully

Page 7: ASP.NET - AJAX Security and Reporting

User Experience / Usability

AJAX

AdditionallyStyling the GridView

http://www.cyberslingers.com/Sandbox/GridView.aspx

Last Week

Page 8: ASP.NET - AJAX Security and Reporting

Session 9: AJAX Security and Reporting Services

Page 9: ASP.NET - AJAX Security and Reporting

Agenda

AJAX History Manager

Solves • Back button• Send links

Page 10: ASP.NET - AJAX Security and Reporting

Reporting

History of reporting Architecture Report Life Cycle Capabilities

Agenda

Page 11: ASP.NET - AJAX Security and Reporting

Agenda

ASP.NET Security Authentication

– Principal– Identity

• Authorization– Role Based Security

New security features in ASP.NET 2.0 Authentication Providers Built in ASP.NET Controls

Page 12: ASP.NET - AJAX Security and Reporting

AJAX History

Page 13: ASP.NET - AJAX Security and Reporting

1. Back button

2. Send link of your current view

http://maps.google.com/ ??

Pain!

Page 14: ASP.NET - AJAX Security and Reporting

1. Enable history in ScriptManager

<asp:ScriptManager ID="ScriptManager1" runat="server" EnableHistory="true" />

Page 15: ASP.NET - AJAX Security and Reporting

Every time this is a relevant history point

Maybe on each AJAX request?

2. Add a history points

ScriptManager1.AddHistoryPoint( "CurrentImage", Image1.ImageUrl);

Page 16: ASP.NET - AJAX Security and Reporting

Restore in that your state

3. Wire up Navigate event

<asp:ScriptManager ID="ScriptManager1" runat="server" EnableHistory="true" onnavigate="ScriptManager1_Navigate" />

protected void ScriptManager1_Navigate(object sender, HistoryEventArgs e){ Image1.ImageUrl = e.State["CurrentImage“];}

Page 17: ASP.NET - AJAX Security and Reporting

Browser dependent

Internet Explorer • iframe• can cause an additional request to the server

Implementation – behind the scenes?

Page 19: ASP.NET - AJAX Security and Reporting

Reporting

Page 20: ASP.NET - AJAX Security and Reporting

SQL Server Reporting Services SSRS

Initially released as add-on for SQL Server 2000 in 2004

Part of SQL 2005 / SQL 2008

Web-based reporting solution

Who has done a report?

Page 21: ASP.NET - AJAX Security and Reporting

History of Reporting 1991-3 – .XLS and .DOC

1992 – Access 1.0

1994 – VB 3 with Crystal Built-In

1995-99 VB 4, 5, 6 (VB Report Designer) A lot continuing with Crystal

1998 – Web .ASP .DOC, .XLS, .PDF

2001 – Visual Studio .NET with Crystal Reports

2004 – Reporting Services as add-on for SQL Server 2000

2005 – Reporting Services with SQL Server 2005

2008 – Reporting Services with SQL Server 2008

2009 – ReportBuilder v3 released

Page 22: ASP.NET - AJAX Security and Reporting

SQL Server 2005 BI

Data acquisition from source systems and integrationData transformation and synthesis

Data enrichment with business logic and hierarchical viewsData discovery through data mining

Data presentation and distributionData access for the masses

Integrate Analyze Report

Page 23: ASP.NET - AJAX Security and Reporting

SQL Server BI Platform

Analysis ServicesOLAP & Data Mining

Reporting Services

Mana

gem

ent To

olsDev

elop

me

nt T

ools

Integration ServicesETL

SQL Server Relational Engine

Page 24: ASP.NET - AJAX Security and Reporting

Delivery Targets(E-mail, SharePoint,Custom)

Output Formats (HTML, Excel, PDF, Custom)

Data Sources(SQL, OLE DB, XML/A, ODBC, Oracle, Custom)

SQL Server

Report Server

XML Web Service Interface

Report Processing

Scheduling & DeliveryRendering

Data Processing Security

Security Services(NT, Passport, Custom)

Reporting Services Architecture

OfficeBrowser Custom Application

Page 25: ASP.NET - AJAX Security and Reporting

Reporting Services is an open and extensible platform supporting the authoring, management and delivery of rich, interactive reports to the entire enterprise.

Reporting Lifecycle

Authoring Management Delivery

Page 26: ASP.NET - AJAX Security and Reporting

Reports are defined in Report Definition Language (RDL), a documented XML schema

Use Microsoft or 3rd party tools that support RDL

Create single reports from multiple data sources(SQL, OLE DB, ODBC, Oracle, and .NET data providers)

Report Authoring

More info on the RDL spec: www.microsoft.com/sql/reporting

Page 27: ASP.NET - AJAX Security and Reporting

Data regions Tablix (SQL 2008) Table -> Tablix List (like Access) -> Tablix Matrix -> Tablix Chart

Subreports

Images

Report Authoring - Controls

Page 28: ASP.NET - AJAX Security and Reporting

Generalized layout report item

Grouped and Detail data

Tablix

Page 29: ASP.NET - AJAX Security and Reporting

Use a table to display detail data

Organize the data in row groups, or both.

The Table template contains three columns with a table header row and a details row for data.

Tablix - Table

Page 30: ASP.NET - AJAX Security and Reporting

Use a matrix to display aggregated data summaries

Grouped in rows and columns, similar to a PivotTable or crosstab.

The number of rows and columns for groups is determined by the number of unique values for each row and column groups

Tablix - Matrix

Page 31: ASP.NET - AJAX Security and Reporting

Use a list to create a free-form layout. You are not limited to a grid layout, but can place fields freely inside the list.

You can use a list to design a form for displaying many dataset fields or as a container to display multiple data regions side by side for grouped data.

Tablix - List

Page 32: ASP.NET - AJAX Security and Reporting

Charts

Page 33: ASP.NET - AJAX Security and Reporting

Charts

Page 34: ASP.NET - AJAX Security and Reporting

Charts

Page 35: ASP.NET - AJAX Security and Reporting

Gauge

Page 36: ASP.NET - AJAX Security and Reporting

Report definitions, folders, and resources are published and managed in a reporting web service

Managed reports can be executed either on-demand or via schedule and can be cached for consistency and performance

Scalable & Extensible server architecture

Report Management

Page 37: ASP.NET - AJAX Security and Reporting

Traditional (paper) and interactive (web) reports

On-demand (“pull”) or event-based (“push”) delivery

Choose from multiple formats (HTML, Excel, PDF, XML)

Deliver reports to many devices (e-mail, file share, etc.)

Ad-hoc Reporting

Report Delivery

Page 38: ASP.NET - AJAX Security and Reporting

Management events can be scheduled on the report server

Caching, Subscriptions, History

Schedules are stored in database and integrated with SQL Agent

When triggered, Agent adds entry to queue

Scheduled events are queued in database and polled by Windows service

Scheduling

Page 39: ASP.NET - AJAX Security and Reporting

What did we see?

Table Control

List Control

Chart Control

Matrix Control

Subreports

Page 41: ASP.NET - AJAX Security and Reporting

History of reporting

Architecture

Report Life Cycle

Capabilities

Hands on lab

Summary

Page 42: ASP.NET - AJAX Security and Reporting

Security

Page 43: ASP.NET - AJAX Security and Reporting

Authentication (Who are you?) the process of accepting credentials from a user

and validating those credentials against a designated authority

Authorization (Do you have permission to be here?)

the process of determining whether the proven identity is allowed to access a specific resource.

Glossary

Page 44: ASP.NET - AJAX Security and Reporting

IPrincipal Represents a user GenericPrincipal WindowsPrincipal Every thread has a principal (Thread.CurrentPrincipal)

IIdentity Represents information about the user GenericIdentity WindowsIdentity

Glossary

Page 45: ASP.NET - AJAX Security and Reporting

Windows

Authentication capabilities of IIS Active Directory, Kerberos, NTLM

Forms (most common)

HTML form logon credentials ASP.NET issues a cookie that contains the

credentials or a key

Authentication in ASP.NET

Page 46: ASP.NET - AJAX Security and Reporting

You can configure the type of authentication to use in the web.config file

<configuration>    

<system.web>

<authentication mode=“[Forms|Windows|Passport|

None]" />

    </system.web>

</configuration>

Web.config

Page 47: ASP.NET - AJAX Security and Reporting

Users

SqlMembershipProvider ActiveDirectoryMembershipProvider

Roles

SqlRoleProvider WindowsTokenRoleProvider

Stores

Page 48: ASP.NET - AJAX Security and Reporting

Login

LoginName

LoginStatus

NewUserWizard

Security Controls

Page 49: ASP.NET - AJAX Security and Reporting

User Profile

ASP.NET has built in support for profiles.

It can be configured via Web.Config

<system.web><profiles>

<properties><add name=“MyProperty” type=“string” />

</properties></profiles>

</system.web>

It is read by .NET and a strongly typed class is created

You can access it by going Profile.MyProperty

Page 50: ASP.NET - AJAX Security and Reporting

Summary

Page 51: ASP.NET - AJAX Security and Reporting

History management in ASP.NET

Reporting

Security

Summary

Page 52: ASP.NET - AJAX Security and Reporting

AJAX History in action http://www.asp.net/learn/3.5-SP1/video-242.aspx

Resources

Page 53: ASP.NET - AJAX Security and Reporting

MSDN – Download

Whitepaper www.ssw.com.au/ssw/standards/DeveloperSQLReportingSer

vices

.Net User Groups

Monthly Meetings www.ssw.com.au/NetUG

Resources

Page 54: ASP.NET - AJAX Security and Reporting

Book

www.mannpublishing.com/

The Rational Guide To: SQL Server Reporting Services by Anthony Mann

Resources

Page 55: ASP.NET - AJAX Security and Reporting

Free Web Application Toolkits http://www.microsoft.com/web/downloads/webapptoolkits

UX design patterns http://quince.infragistics.com/

Resources

Page 56: ASP.NET - AJAX Security and Reporting

3 things…

[email protected]

u

http://

peitor.blogspot.com

twitter.com/peitor

Page 57: ASP.NET - AJAX Security and Reporting

Thank You!

Gateway Court Suite 10 81 - 91 Military Road Neutral Bay, Sydney NSW 2089 AUSTRALIA

ABN: 21 069 371 900

Phone: + 61 2 9953 3000 Fax: + 61 2 9953 3105

[email protected]