by Santosh Reddy Vuppala

Slides:



Advertisements
Similar presentations
Introduction to Eclipse. Start Eclipse Click and then click Eclipse from the menu: Or open a shell and type eclipse after the prompt.
Advertisements

Cookies, Sessions. Server Side Includes You can insert the content of one file into another file before the server executes it, with the require() function.
Java™ How to Program, 9/e Presented by: Dr. José M. Reyes Álamo © Copyright by Pearson Education, Inc. All Rights Reserved.
SIVA PRASAD SANDIREDDY.  YzdS4.
Copyright © 2008 Pearson Addison-Wesley. All rights reserved. Chapter 12 Separate Compilation Namespaces Simple Make Files (Ignore all class references.
Code Access Security vs. Role-Based Security  RBS  Security identity attached to user accounts  Access to resources specified according to user’s group.
10.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft Windows Server 2003 Active Directory Infrastructure.
Lesson 4: Configuring File and Share Access
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 7 Configuring File Services in Windows Server 2008.
APACHE SERVER By Innovationframes.com »
1 Chapter Overview Creating User and Computer Objects Maintaining User Accounts Creating User Profiles.
Windows Programming Using C# Windows Services, Serialization, and Isolated Storage.
ASHIMA KALRA.  INTRODUCTION TO JSP INTRODUCTION TO JSP  IMPLICIT OBJECTS IMPLICIT OBJECTS  COOKIES COOKIES.
Sharing Resources Lesson 6. Objectives Manage NTFS and share permissions Determine effective permissions Configure Windows printing.
1 Group Account Administration Introduction to Groups Planning a Group Strategy Creating Groups Understanding Default Groups Groups for Administrators.
ASSEMBLY. A SSEMBLY Assemblies are the fundamental units of applications in the.net framework An assembly can contain classes, structures, interfaces.
Linux+ Guide to Linux Certification, Second Edition
Physical Database Design Chapter 6. Physical Design and implementation 1.Translate global logical data model for target DBMS  1.1Design base relations.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 2: Operating-System Structures Operating.
.NET Framework Danish Sami UG Lead.NetFoundry
Announcements Assignment 3 due. Invite friends, co-workers to your presentations. Course evaluations on Friday.
Chapter 13 Users, Groups Profiles and Policies. Learning Objectives Understand Windows XP Professional user accounts Understand the different types of.
XP New Perspectives on The Internet, Sixth Edition— Comprehensive Tutorial 1 1 Browser Basics Introduction to the Web and Web Browser Software Tutorial.
Module 7 Active Directory and Account Management.
.Net Security and performance
Effective C# 50 Specific Ways to Improve Your C# Item 46~ /09/25 1.
Reference: Lecturer Lecturer Reham O. Al-Abdul Jabba lectures for cap211 Files and Streams- I.
STATE MANAGEMENT.  Web Applications are based on stateless HTTP protocol which does not retain any information about user requests  The concept of state.
Server Virtualization
Game Data Anywhere Using Xbox LIVE Cloud Storage Michael Alyn Miller Data Storage Architect Microsoft Corporation.
VITALE, CATURANO & COMPANY LTD Microsoft SharePoint Web Part Development Overview VITALE, CATURANO & COMPANY LTD SharePoint Developer Series – Web Part.
Lesson 3: Migrating and Configuring User Data
Summing Up Object Oriented Design. Four Major Components: Abstraction modeling real-life entities by essential information only Encapsulation clustering.
GUDURU PRAVEEN REDDY.NET IMPERSONATION. Contents Introduction Impersonation Enabled Impersonation Disabled Impersonation Class Libraries Impersonation.
Multics CysecLab Graduate School of Information Security KAIST.
IIS and.Net security -Vasudha Bhat. What is IIS? Why do we need IIS? Internet Information Services (IIS) is a Web server, its primary job is to accept.
Administering Group Policy Chapter Eleven. Exam Objectives in this Chapter  Plan a Group Policy strategy using Resultant Set of Policy Planning mode.
The world leader in serving science Overview of Thermo 21 CFR Part 11 tools Overview of software used by multiple business units within the Spectroscopy.
Understand Permissions LESSON Security Fundamentals.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 5 Methods.
Web Browsing *TAKE NOTES*. Millions of people browse the Web every day for research, shopping, job duties and entertainment. Installing a web browser.
11 INTRODUCTION TO GROUP POLICY Chapter 7. Chapter 7: INTRODUCTION TO GROUP POLICY2 WHAT CAN YOU DO WITH GROUP POLICY?  Control the user environment.
Windows 2003 Architecture, Active Directory & DNS Lecture # 3 Hassan Shuja 02/14/2006.
Administering Windows Server 2012 Question Answer.
2Operating Systems  Program that runs on a computer  Manages hardware resources  Allows for execution of programs  Acts as an intermediary between.
ITMT Windows 7 Configuration Chapter 6 – Sharing Resource ITMT 1371 – Windows 7 Configuration 1.
Lesson 9: SOFTWARE ICT Fundamentals 2nd Semester SY
ClickOnce Deployment (One-click Deployment)
Memory Management.
Configuring File Services
Managing State Chapter 13.
Classes (Part 1) Lecture 3
Lesson 4: Configuring File and Share Access
Using Application Domains Effectively
Data Virtualization Tutorial… OAuth Example using Google Sheets
19.10 Using Cookies A cookie is a piece of information that’s stored by a server in a text file on a client’s computer to maintain information about.
CS212: Object Oriented Analysis and Design
Implementing Cookies in PHP
O.S Lecture 13 Virtual Memory.
Separate Compilation and Namespaces
Application layer Lecture 7.
Chapter 2: The Linux System Part 2
Lecture 22 Inheritance Richard Gesick.
Packages and Interfaces
Outline Chapter 2 (cont) OS Design OS structure
Today: Distributed File Systems
CIS 199 Final Review.
Operating System Hardening
Setting up home folders and roaming profiles
ClickOnce Deployment (One-click Deployment)
Presentation transcript:

by Santosh Reddy Vuppala ISOLATED STORAGE by Santosh Reddy Vuppala 4/21/2019

OUTLINE Introduction Need for Isolated Storage Levels of Isolation Implementation Limitations Conclusion 4/21/2019

Introduction Many applications need to write User preferences and Application State to a persistent store so that it's available each time the application runs. Potential Stumble blocks: Your code might lack permission to write to an arbitrary file. The user may lack permission to write data to an arbitrary file. Past Approaches : .INI file, Windows Registry and the Config file. .INI file Limitations : INI files had no way to represent hierarchical information. There was no standardized and safe place to keep INI files. INI files had a size limitation. 4/21/2019

Introduction Windows Registry Limitations : Config File Limitations: Because the registry is globally accessible, a carelessly written install routine or application can bollix up the registry data for other applications and render them unstable or unusable. The registry tends to swell to a huge size with duplicated and unneeded information, and a large registry slows down the entire system. It's difficult to find or edit information in the registry. Config File Limitations: Is that these config files are intended for read-only information. 4/21/2019

Need For Isolated Storage Isolated storage provides a controlled and structured mechanism through which code can write data to the hard drive in a way that prevents access by other users and managed applications. Isolated storage provides a more secure data storage alternative than granting code direct access to selected areas of the hard drive . In addition, isolated storage can leverage the capabilities of Windows-roaming user profiles, ensuring that a user's data is available to them regardless of which machine they use. 4/21/2019

4/21/2019

What is a Store? A store is a compartment within isolated storage that has an identity derived from the identity of the user and code that created it. Before managed code can save data to isolated storage, it must obtain a store. The use of stores means that each time code runs, it has access to any data that it previously saved to isolated storage. Because different applications run by the same user have different identities, they each obtain unique stores. 4/21/2019

A store acts as a complete virtual file system A store acts as a complete virtual file system. You can create and delete directories and files within a store, and read and write data to the files in the store. 4/21/2019

Levels of Isolation Isolation by user and assembly --With user and assembly isolation, one piece of evidence from the assembly is used. Isolation by user, assembly, and application domain --When isolating by user, assembly, and application domain, isolated storage uses one piece, of evidence from the assembly and one from the application domain for the stores identity 4/21/2019

Isolation by User and Assembly When code obtains a store isolated by user and assembly, isolated storage returns a store with an identity based on the current user and the assembly that made the call to obtain the store. Isolation by user and assembly enables an assembly used in multiple applications to share data across those applications. Used inappropriately, isolation by user and assembly can cause data leaks between applications. 4/21/2019

Isolation by User, Assembly and Application Domain When code obtains a store isolated by user, assembly, and application domain, isolated storage returns a store with an identity based on the current user, the assembly that made the call to obtain the store, and the application domain in which the assembly is loaded . Isolation by user, assembly, and application domain limits the ability of an assembly to share or leak data across multiple applications . 4/21/2019

Obtaining a Store Two static methods of the IsolatedStorageFile class provide the simplest and most common way of obtaining a store: GetUserStoreForAssembly , GetUserStoreForDomain // Obtain a store isolated by user and assembly IsolateStorageFile iso1 = IsolatedStorageFile.GetUserStoreForAssembly( ); // Obtain a store isolated by user, assembly, and application domain IsolateStorageFile iso2 = IsolatedStorageFile.GetUserStoreForDomain( ); 4/21/2019

Obtaining a Store The static IsolatedStorageFile.GetStore method also obtains a store, but allows the caller to specify the scope and identity of the store to obtain. User | Assembly  Requests a store isolated by user and assembly, the same as that returned by the GetUserStoreForAssembly method. User | Assembly | Domain  Requests a store isolated by user, assembly, and application domain, the same as that returned by the GetUserStoreForDomain method. Roaming | User | Assembly  Requests a roaming store isolated by user and assembly. Roaming | User | Assembly | Domain  Requests a roaming store isolated by user, assembly, and application domain 4/21/2019

// GetStore equivalent of GetUserStoreForAssembly IsolatedStorageFile iso1 = IsolatedStorageFile.GetStore( IsolatedStorageScope.User | IsolatedStorageScope. Assembly, null, null ); // GetStore equivalent of GetUserStoreForDomain IsolatedStorageFile iso2 = IsolatedStorageFile.GetStore( IsolatedStorageScope.User | IsolatedStorageScope.Assembly | IsolatedStorageScope.Domain, null, null ); // Get a roaming store isolated by user and assembly. Specify new Url evidence for the assembly identity IsolatedStorageFile iso3 = IsolatedStorageFile.GetStore( IsolatedStorageScope.User | IsolatedStorageScope.Assembly | IsolatedStorageScope.Roaming, null, new Url(@"http://test.com") ); 4/21/2019

Creating Directories The basic way of doing it: public void CreateDirectory( string dir ); To create more than one level of the directory hierarchy in a single call. IsolatedStorageFile iso = IsolatedStorageFile.GetUserStoreForDomain( ); iso.CreateDirectory(@"Dir1\Dir2"); iso.CreateDirectory("Dir1/Dir3"); 4/21/2019

Creating, Reading and Writing Files The IsolatedStorageFileStream class represents a file in a store public IsolatedStorageFileStream( string path, FileMode mode, FileAccess access, FileShare share, int bufferSize, IsolatedStorageFile isf ); mode represents either “open” or “create” access represents either “read” or “write” The isf argument is a reference to the IsolatedStorageFile in which to create or open the file. 4/21/2019

Deleting Files and Directories The files and directories from a store can be deleted through the methods of the IsolatedStorageFile object that represents the containing store. Both the DeleteDirectory and DeleteFile methods take a single String argument that specifies the fully qualified name of the file to delete . public void DeleteDirectory( string dir ); public void DeleteFile( string file ); 4/21/2019

Delete Stores To delete a store, we use the Remove method of the IsolatedStorageFile class. Remove has two overloads, with the signatures shown here: public override void Remove( ); public static void Remove( IsolatedStorageScope scope ); The ‘scope’ argument can take any of these values: User  Removes all nonroaming stores for the current user Roaming | User  Removes all roaming stores for the current user 4/21/2019

Limitations of Isolated Storage Here are some situations when the use of isolated storage is inappropriate: When valuable or secret data is used When data between users is shared When managed and nonmanaged code need application access When there is no roaming-profile support When used as a primary file store When large amounts of data are used 4/21/2019

References http://www.codeproject.com/dotnet/IsolatedStorage.asp http://www.dotnetdevs.com/articles/IsolatedStorage.aspx http://www.codeguru.com/csharp/csharp/cs_data/article.php/c4225/ 4/21/2019

Questions? 4/21/2019