Click Here to Install Silverlight*
IndiaChange|All Microsoft Sites
Microsoft
Communities 
 
Chat Transcript
 
Chat Topic : Caching & Security Features in ASP.NET 2.0
Chat Expert : Harish Ranganathan (MVP)
June 29, 2005

 

 
 

Harish - Expert: Hi, I m hosting the Chat for today !!!

 

Harish - Expert: Welcome and I am waiting for your questions

 

hariraj: anyone there?

 

Harish - Expert: Hi Hari

 

Harish - Expert: Tell me

 

hariraj: hi harish

 

Harish - Expert: Today I am hosting this expert chat on ASP.NET 2.0 Caching and Security Features

 

Harish - Expert: feel free to ask your questions

 

hariraj: oh gr8

 

hariraj: SMILEY :)

Harish - Expert: SMILEY :)

 

hariraj: what will the format of data stored in cache

 

hariraj: will it be stored as xml?

 

hariraj: or as encrypted text

 

Harish - Expert: it is stored as encrypted

 

Harish - Expert: it is actually stored in the memory

 

hariraj: in clent or in server?

 

Harish - Expert: in 2.0, you have the facility to write to the disk

 

Harish - Expert: server

hariraj: can't i store it in client

 

hariraj: we have an attribute called location="clent/server"

 

hariraj: any idea about it

 

Harish - Expert: for storing it in client, you have to either use XML island

 

hariraj: whatz the purpose the location attribute then

 

dotnetjunk: How to secure config files

 

Anbirkiniyan: How to invalidate caching

 

Harish - Expert: location attribute is to set whether the cache is going to be downstream

 

Harish - Expert: sensitive etc.,

 

Harish - Expert: caching can be invalidated in different ways

 

Harish - Expert: in ASP.NET 2.0, you can use SQL Server notification

 

hariraj: whatz that downstream senstitive

 

hariraj: ya that i know

 

Harish - Expert: if it is Yukon SQL Server 2005, you can use poling

 

Harish - Expert: which is automatically enabled to find whether the cache data is invalid

 

hariraj: r u talking about connection pooling

 

Anbirkiniyan: How to do in .NET 1.1

 

hariraj: or is there any new pooling concept 2k5

 

Anbirkiniyan: What's the best practices in the Output Cache directive

 

Anbirkiniyan: How it's valid in .NET 2.0

 

Anbirkiniyan: Any new features in .Net 2.0 in caching

 

rambabu: hi friends

 

Harish - Expert: yeah it is there

 

hariraj: what are the new features added in asp.net 2.0 caching for Microsoft content

management system

 

Harish - Expert: its poling

 

hariraj: okie

Harish - Expert: poling is the mechanism by which your application keeps poling the sql server database to find whether the data has changed

 

Harish - Expert: priori to 2.0 version, for enabling data caching, you have to manually insert data into cache and retrieve it

 

hariraj: is't so?

 

Harish - Expert: u still need to do some plumbing work if you are using SQL server 2000 or earlier versions in combination with .NET 2.0

 

Harish - Expert: yeah

 

Harish - Expert: hi rambabu

 

hariraj: are u talking about data caching

 

Harish - Expert: yeah absolutely

 

Harish - Expert: Caching based on Database changes

 

hariraj: ok

 

Harish - Expert: for setting the dependency on files, you already have methods built in

 

hariraj: so how u ignore manual update in asp.net 2.0

 

Harish - Expert: you dont need to ignore.

 

Harish - Expert: if you still wish you can do that

 

hariraj: ok i want to ignore

 

Harish - Expert: these are new features in 2.0 that enable easier way of implementing Robust Scalable appliactions

 

Harish - Expert: just set the diskoutput attribute to false

 

hariraj: in?

 

Harish - Expert: in the page directive

 

hariraj: where should i've specify diskoutput attribute

 

Harish - Expert: <%@ OutputCache Duration="3600" VaryByParam="none" DiskCacheable="false" %>

 

Harish - Expert: to disable storing the cache in the disk

 

hariraj: SMILEY :)

 

rambabu: hi Harish How to use cache

 

hariraj: this is page level caching

 

hariraj: am i rite

 

Harish - Expert: correct

 

Harish - Expert: if you disable page level caching

 

Harish - Expert: you can set your own datacaching mechanisms by writing in code

 

hariraj: but u said something about manual update

 

hariraj: whatz that?

 

Harish - Expert: either as inline or codebehind

 

rambabu: Harish we want application level cache How am i work

 

Harish - Expert: manual update is what i referred to setting the data into cache using codebehind

 

Harish - Expert: Cache.Insert

 

hariraj: is this not possible in 1.1

 

Harish - Expert: i m telling the same thing SMILEY :)

 

Harish - Expert: it was possible in 1.1

 

hariraj: oh ok

 

Harish - Expert: polling based cache was not possible in 1.1

 

rambabu: at application level we want

 

hariraj: what are the new features added in asp.net 2.0 caching for Microsoft content

management system?

 

Harish - Expert: i have to check about that

 

Harish - Expert: CMS is not a part of today's topic

 

Harish - Expert: check http://harishmvp.blogspot.com for more information on the new caching techniques

Harish - Expert: well that doesnt stop you from asking questions here SMILEY :)

 

hariraj: my question was related to caching

 

hariraj: ok anyway leave it

 

Anbirkiniyan: What are the best practices in CACHING

 

Anbirkiniyan: What to Cache and what not to?

 

Harish - Expert: you can cache data that is redunant

 

Harish - Expert: or non-sensitive

 

Dhrumit: Fist of all can you list out the techniques for caching which are new in ASP.NET 2.0 ?

 

hariraj: what is the purpose of sqldependency attribute?

 

Harish - Expert: say you are building a page where there is data that doesnt change frequently, you can implement caching

 

Harish - Expert: you can split up your page based on static and non-static sections and apply caching accordingly

 

hariraj: this is not new in 2.0

 

Harish - Expert: if you are stowin some information like Stock Rates etc., then its bad to go for cachingSMILEY :)

 

Harish - Expert: this is the answer fo the person who asked what to cache and what no toSMILEY :)

 

Harish - Expert: new techniques in 2.0

 

Harish - Expert: 1. SQL Cache Notification 2. Using the Disk Output Cache 3. Post-cache Substitution 4. SQL Cache Invalidation 5. Cache Configuration

 

Anbirkiniyan: Best practices?

 

hariraj: that guy is sitting next to me

 

hariraj: hahahaha

Harish - Expert: oh thats fine SMILEY :)i cannot make out from here SMILEY :)

 

Harish - Expert: in addition you have the substitution control

 

Harish - Expert: Best practices

 

Harish - Expert: Dont set small expiration time

 

Harish - Expert: setting smaller duration doesnt improve performance of your application

 

Dhrumit: Now can we go one by one on these techniques ?

 

Harish - Expert: sure

 

hariraj: i've got an cricket application which has to fetch the content from my partner xml

 

Harish - Expert: ok?

 

hariraj: i've to update my site frequently ball by ball

hariraj: on that case i can't set a longer duration na

 

Harish - Expert: then dont cache the portion where scores appear

 

Harish - Expert: dont use caching at all for that situation

 

Harish - Expert: i told, if you show sensittive data, you cannot cache

 

Harish - Expert: sensitivity is time-sensitive

 

hariraj: but i want to use cache

 

Harish - Expert: if you show a 5 ball old score by implementing caching, then you are on for a toss

 

Harish - Expert: you cannot use

 

hariraj: because there are chances where my partner url go for a toss

 

hariraj: on that case i don't want show my users an error page

 

Harish - Expert: caching is meant for rendering rather static or semi-static info

 

Harish - Expert: what is that

 

hariraj: so i prefer to go for cache

 

Harish - Expert: thats a skeptical situation

 

Harish - Expert: so, in that case, you need to store your cache in the form of XML down the browser

 

Harish - Expert: and display in case error happens

 

hariraj: SMILEY :)thatz that i've done

 

hariraj: thatz wat i'v done

 

Harish - Expert: Good

 

hariraj: but even on that case i've to refresh my content cached content frequently na

 

rambabu:

hi

 

Harish - Expert: that really doesnt improve the performance

 

Harish - Expert: hi

Harish - Expert: it rather looks like caching is being used for the sake of using SMILEY :)

 

hariraj: brrrrr

 

Harish - Expert: you need to decide this at the architecture level

 

rambabu:

bera

 

Harish - Expert: comign to dhrumit

 

Harish - Expert: are you there dhrumit

 

Bijoy: How can one store XML in browser as cache

 

hariraj: SMILEY :)we won't test our live application just like that

 

Dhrumit: Yes

 

Harish - Expert: ok SQL dependency notification is the new mechanism

 

Harish - Expert: by which you can set a dependcy for your tables

 

Harish - Expert: and when data is changed in the table, you can invalidate the cahce

 

Harish - Expert: say you are showing a table data is a Grid on your page

 

Harish - Expert: if you want your cache to get automatically invalidated when the table data changes

 

hariraj: what is the use of aspnet_regsqlcache utiltity?

 

Harish - Expert: you can implement it easily

 

Harish - Expert: i m coming to that

 

Dhrumit: Thats a nice feature. Where to implement it on page or at backend?

 

Harish - Expert: at the page level you have to set

 

Harish - Expert: aspnet_regsql.exe - is to enable poling for your SQL Server 2000 or earlier version of databases

 

Harish - Expert: Yukon and Whidbey are tightly integrated and they have more of interoperability within each other

 

Harish - Expert: hence you dont need to use the aspnet_regsql.exe - explicitly if you are targetting a Yukon database

 

hariraj: tell me this harish. Is Pooling different from poling

 

Harish - Expert: poling is the mechanism by which you keep pinging to some destination

 

Harish - Expert: pooling is the mechanism by which you retain a open resource such as connection such that it is available for subseauent requests

 

Dhrumit: I think we are running out of time. Lets first complete the main topics from expert. Then at the end we can have Q / A.

 

Harish - Expert: To set caching at the page level,

 

Harish - Expert: <%@ OutputCache Duration="999999" SqlDependency="Pubs:Authors" VaryByParam="none" %>

 

Harish - Expert: well this attribute sets the dependency on the table Authors in Pubs databae

 

Harish - Expert: if you are having SQL Server 2000

 

Harish - Expert: you need to register using the aspnet_regsql.exe -S ".\SQLExpress" E -d "pubs" -ed

 

Dhrumit: This will work only for data in grid or any other control too?

 

Harish - Expert: it will work for Page or any Datasource

 

Harish - Expert: you can set the cacheability to a datasource as follows:-

 

Harish - Expert: <aspCONFUSED SMILEY :SqlDataSource EnableCaching="true" CacheDuration="Infinite" SqlCacheDependency="PubsDB:Authors" ... />

 

Harish - Expert: sorry

 

Harish - Expert: <asp: SqlDataSource EnableCaching="true" CacheDuration="Infinite" SqlCacheDependency="PubsDB:Authors" ... />

 

Harish - Expert: so once you specify this Datasource to your Control, that gets the functionality

 

Harish - Expert: i gave the aspnet_regsql command to register the database for poing

 

Harish - Expert: then the Table needs to be registerd for poling

 

Harish - Expert: aspnet_regsql.exe -S ".\SQLExpress" -E -d "pubs" -et -t "authors"

 

Harish - Expert: this command registeres the Authors table

 

Harish - Expert: the next hing you need to do is set the property in web.config

 

Harish - Expert: <caching> <sqlCacheDependency enabled="true" pollTime="1000" > <databases> <add name="PubsDB" connectionStringName="Pubs" /> </databases> </sqlCacheDependency> </caching>

 

Dhrumit: Ok means in case of SQL server 2000 we have to run this command. And in YUKON we

dont need to do it, right?

 

Harish - Expert: Absolutely right

 

Harish - Expert: i m trying to convey this special news SMILEY :)

 

Harish - Expert: Yukon and Whidbey are termed to as Romeo : Juliet SMILEY :)

 

Dhrumit: SMILEY :)

 

Harish - Expert: they sync up with each other very well

 

Harish - Expert: The other big advantage is that, off topic you can run your C# functions as

extended procedures from Yukon

 

Harish - Expert: anyway, thats a different topic

 

Dhrumit: ya i know that. Thats right. And I heard they this romeo-juliet going to marry on 7th

November SMILEY :)

 

Harish - Expert: so, next thing to do is after running the command for registering the database, table and web.config just specify the output cache parameter either for the page level or datasource as explained above

 

Harish - Expert: thats news for me

 

Harish - Expert: who is romeo & who is juliet

 

Dhrumit: I mean to say VS 2005 release date is 7th Nov.

 

Harish - Expert: thats skeptical

 

Dhrumit: What exactly to specify in Web.Config.

 

Dhrumit: ?

 

Harish - Expert: VS 2005 might get delayed a little bit

 

Dhrumit: Ok. Let get back to main topic.

 

Harish - Expert: sure

 

Harish - Expert: <caching> <sqlCacheDependency enabled="true" pollTime="1000" > <databases> <add name="PubsDB" connectionStringName="Pubs" /> </databases> </sqlCacheDependency> </caching>

 

Harish - Expert: let me explain each of the attributes

 

Harish - Expert: in web.config within the system.web tag

 

Harish - Expert: you put the sqlcachedependecy

 

Harish - Expert: set enable true

 

Harish - Expert: polltime specifies the interval at which the database will be contacted

 

Harish - Expert: the Databases is where you add all the DAtabases for which you need to

enable polling

Harish - Expert: these are the things you specify in the web.config

 

Dhrumit: ok

Harish - Expert: again reminding you, it is only sql server 2000 or earlier SMILEY :)

 

Bijoy: I heared a GUI is available for each virtual directory, so it's easy to do right

 

Harish - Expert: is it a 3rd party?

 

Harish - Expert: can i move to next topic

 

Chatanya: Wats changes In Yukon

 

Harish - Expert: hi chatanya

 

Chatanya: hi harish

 

Harish - Expert: we are discussing abut the new caching features in yukon

 

Dhrumit: Bijoy, u r right. There ll be a web based interface for Web.Config. Harish we can move on next topic.

 

Harish - Expert: Sql Server 2005 Notification-based Cache Invalidation

 

Harish - Expert: so i explained about how to enable cache for sql server 2000

 

Harish - Expert: its even simpler for 2005

 

Harish - Expert: in the page directive set <%@ OutputCache Duration="999999" SqlDependency="CommandNotification" VaryByParam="none" %>

 

Harish - Expert: if it is for a DataSource

 

Harish - Expert: <aspCONFUSED SMILEY :SqlDataSource EnableCaching="true" SqlCacheDependency="CommandNotification" CacheDuration="Infinite" ... />

 

Harish - Expert: again sorry SMILEY :)

 

Harish - Expert: <asp: SqlDataSource EnableCaching="true" SqlCacheDependency="CommandNotification" CacheDuration="Infinite" ... />

 

Harish - Expert: thats all you need to do

 

Harish - Expert: Whenever a command is issued to Sql Server 2005, ASP.NET and ADO.NET will automatically create a cache dependency that listens to change notifications sent from the Sql Server.

 

Harish - Expert: As data is changed in Sql Server, these notifications will cause the cached queries to be invalidated on the web server.

 

Harish - Expert: The next time a page or datasource control associated with the dependency is requested, the page or datasource control will be executed again as opposed to serving cached information.

 

Harish - Expert: Guys, i have ejust explained 2 of the mechanims

 

Harish - Expert: Can we move to others?

 

Harish - Expert: I guess we are running out of time

 

Harish - Expert: so i will take all questins at the end of session?

 

Dhrumit: ya right

 

Harish - Expert: Disk Output Cache

 

Harish - Expert: we will talk about that now

 

Harish - Expert: You may/may not be aware that Cache is memory senstitive

 

Harish - Expert: once the isolation is reached, cache cannot be withheld

 

Harish - Expert: similarly cache cannot stand application restarts

 

abinav: hii guys

 

Harish - Expert: Disk Output cache is the new method in 2.0 by which you can store the cache to your disk

 

Joshi: hi all

 

Harish - Expert: it is enabled at the page level as follows:-

 

Harish - Expert: <%@ OutputCache Duration="3600" VaryByParam="none" DiskCacheable="true" %>

 

Harish - Expert: Notice the DiskCacheable="true" property

 

Harish - Expert: this ensures that the cache is saved to the system such that it can survive application restarts and memory fill ups

 

Dhrumit: You mean to say in stead of memory the cached data stored on the disk of server?

 

Harish - Expert: exactly

 

Harish - Expert: not instead of

 

Harish - Expert: in addition to

 

Harish - Expert: SMILEY :)

 

Harish - Expert: you have to specify an additional attribute

 

Harish - Expert: <diskCache enabled="true" maxSizePerApp="2" />

 

Dhrumit: Ok SMILEY :)

 

Harish - Expert: that is maxSizePerApp

 

Harish - Expert: In the above settings, the per-application disk usage limit is set to 2 megabytes, as specified in the maxSizePerApp attribute

 

Harish - Expert: Disk caching is turned on by default for all pages. To turn disk caching off, specify DiskCacheable=false in the directive on the page.

 

Harish - Expert: HI ABHINAV

 

Harish - Expert: HI JOSHI

 

Chatanya: This is page level attribut or application level that we have to specify in web.config

 

abinav: hii to

 

abinav: ok

 

Harish - Expert: if you want for your applicaiton level, set it at the web.config

 

Harish - Expert: <?xml version="1.0"?> <configuration> <system.web> <caching> <outputCache> <diskCache enabled="true" maxSizePerApp="2" /> </outputCache> </caching> </system.web> </configuration>

 

Dhrumit: I think logically it should be at application level in most of the cases

 

Harish - Expert: you are right

 

Harish - Expert: but in some cases, you wont require it for all pages

 

Harish - Expert: anyway, even if you specify in the web.config you can over ride it at the page level

 

Harish - Expert: the hierarcy of overloading is machine.config - web.config - page

 

Chatanya: ok

 

Harish - Expert: where page stands the highest priority and takes the relevant mechanism specified there

 

Dhrumit: Ya thats right.

 

Joshi: ya hi

 

Dhrumit: Ok can we move to next mechanism? we still have to cover security features ...

 

Harish - Expert: sure

 

Harish - Expert: I will ask you all one question

Harish - Expert: in .NET 1.x version

 

Harish - Expert: if you want to enable caching for only portions of your page, what you will do

 

Harish - Expert: ?

 

Chatanya: that can be done using fragment caching

 

Dhrumit: yes fragment caching

 

Harish - Expert: absolutely

 

Harish - Expert: but just imagine you have to break your pages into segments

 

Harish - Expert: for achieving this simple mechanism

 

Harish - Expert: right?

 

Chatanya: but I have heard in ASP.net there is provision for if if you do not want to implement caching for a prortion of a page but enable it for whole page

Harish - Expert: that is precisely what i m coming at SMILEY :)

 

Harish - Expert: Post Cache Substitution

 

Joshi: a portion of a page can be done

 

Harish - Expert: You have the Post Cache Substitution where you can delegate a call back to the Method which you specify using the Response.WriteSubstitution Method to make the particular section dynamic.

 

Dhrumit: Could not understand harish. Can you give one example?

 

Harish - Expert: sure

 

Harish - Expert: static string GetCurrentDate(HttpContext context) { return DateTime.Now.ToString(); }

 

Harish - Expert: have this method in your page

 

Harish - Expert: this would return the current time right?

 

Dhrumit: right

 

Joshi: yes

 

Harish - Expert: <%@ OutputCache Duration="60" VaryByParam = "none" %>

 

Harish - Expert: this is to enable caching for 60 seconds

 

Harish - Expert: now in the aspx page, we will have Time: <%= DateTime.Now.ToString() %>

 

Harish - Expert: just a label time to which i assign the current date time

 

Harish - Expert: then, i have another label which reads "Exact time"

 

Harish - Expert: to that, i assign this function

 

Harish - Expert: <% Response.WriteSubstitution(new

HttpResponseSubstitutionCallback(GetCurrentDate)); %>

 

Harish - Expert: notice the HttpResponseSubstitutionCallBack

 

Harish - Expert: the function Getcurrentdate is called back everytime the page is requested

 

Harish - Expert: despite the page being cached

 

Harish - Expert: which would result in the "Exact time" label showing you the exact time

 

Harish - Expert: well, showing time is not the great thing

 

Harish - Expert: but you can use this for methods in your page where you want each time the

function to be implemented

 

Harish - Expert: you dont need to go for usercontrols

 

Harish - Expert: you dont need to for breaking down your page

 

Harish - Expert: as simple as that

 

Dhrumit: Ok. So this is specially to un-cache some part of the cached page, right?

 

Harish - Expert: exactly

 

Harish - Expert: you also have a server control to achieve this

 

Harish - Expert: aspCONFUSED SMILEY :Subtitution control

 

Harish - Expert: < aspCONFUSED SMILEY :Substitution id="Substitution1" methodname="Provide Method Name

Here" runat="Server"> </aspCONFUSED SMILEY :Substitution>

 

Harish - Expert: oops

 

Harish - Expert: < asp: substitution id="Substitution1" methodname="Provide Method Name

Here" runat="Server"> </asp: substitution>

 

Harish - Expert: whatever i gave as Response.WriteSubstitution

 

Harish - Expert: you can instead specify the method name in the above <Asp : substitution tag

 

Harish - Expert: and still achieve the same functionality

 

Harish - Expert: just different flavours

 

Dhrumit: Ok.

 

Bijoy: That's a nice functionality

 

Harish - Expert: Caching is important to leverage the full power of .NET

 

Harish - Expert: if you are targetting Realworld applications that server millions of users

 

Harish - Expert: its always important you use Caching to improve the performance of your

application

 

Dhrumit: Humm. Thats right.

 

Chatanya: How to use caching in Stck exchange application?

 

Harish - Expert: Believe it, its there in Whidbey

 

Joshi: this is nice

 

Harish - Expert: Stock exchange application - my advise is, dont use caching

 

Harish - Expert: Shall we move to Security Features

 

Bijoy: But I think there is a potential hidden questions, stock exgs cater to millions of users

 

Bijoy: it would be a nice case study

 

Harish - Expert: Thats right. Caching is a subject of PHD for some people

 

Harish - Expert: there has always been reasearch on this

 

dotnetparam: What are the new Security features in ASP 2.0

 

Joshi: just throw some idea on thi s

 

Dhrumit: What is Cache Configuration?

 

Harish - Expert: Cache Configuration is the property by which you set the Cache expiration

policy

 

Harish - Expert: duration

 

Harish - Expert: dependency and all those setings

 

Harish - Expert: does that answer your question

 

Harish - Expert: NEW SECURITY FEATURES IN ASP.NET 2.0

 

Dhrumit: Oh ok i think its some diff mechanism. Lets go to the security.

 

Harish - Expert: We are running out of time

 

Harish - Expert: Well, I will ask you quick questions

 

Harish - Expert: How do you implement role based authorisation in ASP.NET 1.1

 

Harish - Expert: or for that matter ASP.NET 1.0

 

Harish - Expert: the reason for asking questions is to make interactive

 

Harish - Expert: some of the members seems to be lost in their way SMILEY :)

 

Bijoy: Probabily through manual coding

 

dotnetparam: through web.config 's Authorisation

 

Harish - Expert: i would be Glad if they are following

 

dotnetparam: tag

 

Harish - Expert: you are right

 

Harish - Expert: but just imagine the nuber of lines of code you write

 

Harish - Expert: YOu need to set the Role

 

Harish - Expert: you need to set the role cookie

 

Harish - Expert: you classify the user based on his role

 

Harish - Expert: and then you have to check this role in each page

 

Harish - Expert: right?

 

Dhrumit: yes.

 

Harish - Expert: You dont need to do that, ASP.NET 2.0 takes care of that

 

Bijoy: yes

 

Joshi: oh grt

 

Harish - Expert: To configure Roles / Permissions you have the Website Administration Tool

 

Harish - Expert: Its one point from where you can specify the Permissions / Roles / Access

level

 

Joshi: where

 

Harish - Expert: i cannot show you the page over here

 

Harish - Expert: but i can give you links at the end of the session

 

Harish - Expert: where you can see the website administration settings

 

Joshi: k

 

dotnetparam: ok

Harish - Expert: its as simple as selecting ":Allow" or "Deny" from a dropdownlist

 

Dhrumit: Ya right. I saw this tool once in one of the MSDN session. Its really nice.

 

Harish - Expert: and specify the rights

 

Harish - Expert: Oh thats great

 

Harish - Expert: The other great security feature is that

 

Harish - Expert: Today, to implement Form Based Authenticatin in a cookieless scenario, it is

very difficult

 

Harish - Expert: in 2.0, your same code will work both for cookieless as well as cookie based

scenario

 

Harish - Expert: if cookies are enabled, ASP.NET intelligently uses the straight forward method

of storing the cookies in the user's system

 

Harish - Expert: if cookies are disblaed, ASP.NET is still brilliant

 

Harish - Expert: it will append the cookie as a chunk of code to the URL

 

Harish - Expert: the chunk of encrypted code is encrypted

 

dotnetparam: fine

 

Harish - Expert: The good thing is that

 

Joshi: THINKING SMILEY *-)

 

Harish - Expert: you dont need to change the functionatliy

 

Harish - Expert: I think Joshi is reading his Credit Card Bill

 

Harish - Expert: or his Wife's Email

 

Joshi: k

 

Harish - Expert: Some of the cool things are

 

Harish - Expert: Login Control

 

Harish - Expert: Change Password

 

Harish - Expert: Forgot Password

 

Harish - Expert: Logged In View

 

Harish - Expert: Login Control you can just drag and drop into your login.aspx and use its built-

in APIs to perform a login check

 

Harish - Expert: Change Password - obviously for changing the password

 

dotnetparam: great

 

Dhrumit: Ya right. And it automatically generates database for that. By default in Access in Data

folder right?

 

Harish - Expert: thats right

 

Harish - Expert: However, it is configurable

 

Harish - Expert: you can cahnge it to your own database

 

Dhrumit: One more is Sign Up page i think...

 

Chatanya: but in cookie less implementation

 

Harish - Expert: the Good thing is that you can leverage all the Controls and extend them

 

Joshi: just i am thnking that its making our life easy

 

Harish - Expert: obviously

 

dotnetparam: what is Logged in View

 

Chatanya: they are still lacking with one problem size of querystring

 

Harish - Expert: Say Login control by default has a user name and passowrd control

 

Harish - Expert: however, if you want to add your own field such as a Domain, you can still do

that

 

Dhrumit: dotnetparam, Logged in View is show ur status on top of the page like Hello Username,

and display a link to logoff, right Harish?

 

Harish - Expert: Querystring well, if you see cookieless scenario you can append a lot of

information

 

Harish - Expert: so i think that answers the query

 

dotnetparam: ok

 

Harish - Expert: Logged in View is where you say Welcome <username>

 

Harish - Expert: and if you are not logged inm, Sign in from <a href="login.aspx">here</a>

 

Harish - Expert: we allw ould implement this in typical scenarios

 

dotnetparam: so that is shown on each page by default...without any coding efforts

 

Harish - Expert: absolutely

 

Harish - Expert: it is configurable from design view

 

Harish - Expert: SMILEY :)

 

dotnetparam: ok

 

Dhrumit: Any other security feature left, Harish?

 

Harish - Expert: there are lots

 

Harish - Expert: membership and role management

 

Harish - Expert: the Membership API ships with the ASP.NET 2.0

 

Harish - Expert: and you can utilize it for Member creating, role management, personalization

etc.,

 

Dhrumit: ok.

 

Harish - Expert: today, if you have to do personalization you have to store everything in

session, cache or some strange ways to identify the user

 

Harish - Expert: in 2.0 you dont need to do that

 

Chatanya: so where all that will be stored on server or on user machine as form of cookie

 

Harish - Expert: it will be in Database

Harish - Expert: but it will be faster than you expect

 

Harish - Expert: the Role Manager automatically manages User specific information

 

Harish - Expert: You can also extend it to include your own customizations

 

Harish - Expert: GUYS, WE ARE ALMOST RAN OUT OF TIME

 

Harish - Expert: so you can ask questions

 

Chatanya: How they are implementing it in database

 

PETERR: hi harish how to implement passport auth. in our applications

 

Harish - Expert: to implement passport authorization you must download the passpord sdk available

 

Harish - Expert: its a paid service

 

Harish - Expert: but for testing purposes, you can use it freely.

 

Harish - Expert: when you go to real time deployment there are some licensing requirements.

 

Harish - Expert: once you download and install the passport sdk,

 

Harish - Expert: you can leverage its methods such as HexPUID to identify the logged in user

 

Harish - Expert: and you automatically get the BEAUTIFUL SIGN IN and SIGN OUT logos SMILEY :)

 

Dhrumit: I have a question but its not related with topics ....

 

PETERR: ok cool

 

Harish - Expert: oh sure

 

PETERR: ty harish

 

Dhrumit: How to use TELNET from .net code? Is there any standard dll available?

 

Harish - Expert: it is availble

 

Harish - Expert: i can mail you the link if you can give your mail id

 

Dhrumit: Fro FTP I found one dll code on microsoft site in vb.net. And i used it successfully.

 

Harish - Expert: thats Great

 

Dhrumit: That ll be great. You can mail me on Dhrumit_Desai@Keane.com

 

PETERR: one more thing, harish if i use passport auth all my users have to register with microsoft.com is that right

 

Harish - Expert: not necessary

 

Harish - Expert: any email address which is passport enabled will work

 

Harish - Expert: but ideal scenarios would be using the Hotmail MSN or Passport email address which are, by default Passport enabled

 

Harish - Expert: i have my company email address and still can use to sign in to MSN Messenger

 

Harish - Expert: i just had to register it with the passport service

 

PETERR: where will the details of the user stored

 

Harish - Expert: the passport service, would verify it is a valid email addess and then register

 

PETERR: so the details will be stored in the microsoft end, am i making sense

 

PETERR: meaning the user details

 

Chatanya: So Is it ok to give your details to third party?

 

Joshi: this is like common data base maintennence from diiferent platforms

 

Joshi: is it right harish

 

Harish - Expert: its like your Master ACArds

 

Joshi: thats vat i mean to say ..

 

Harish - Expert: yeah

 

PETERR: so the details will be stored in the microsoft end, am i making sense

 

Joshi: which wll be there in encrypted format

 

PETERR: so will microsoft allow to get the details of the user later

 

Dhrumit: Ok Harish. Thanks very much for this informative session. We really learn a lot. Send me the link whenever you get time.

 

Harish - Expert: They wont

 

Harish - Expert: OK GUYS I WILL JUST TAKE ONE MORE QUESTION

 

Harish - Expert: AND WE HAVE TO END THIS SESSION

 

Harish - Expert: IT WAS A GREAT EXPERIENCE TALKING TO YOU ALL

 

Chatanya: What is the difference betwwen Enterprise level and machine level secutiy?

 

Chatanya: And we can implement it in dotnet?

 

Harish - Expert: You cannot

 

PETERR: it was nice talking to you harish, have a good evening, thanks and ciao

 

Harish - Expert: you can implement security for your appliactions /

 

Dhrumit: Machine level - for a single pc, Enterprise - for network / domain specific

 

Harish - Expert: THANKS PETER

 

Chatanya: Thanks Harish

 

Joshi: thanks harish had a nice time

 

Harish - Expert: THANKS CHATANYA

 

PETERR: nice meeting you all, hav a good evening, take care, ciao

 

Harish - Expert: THANKS JOSHI

 

Joshi: had gud stuff

Dhrumit: Thanks Harish.... Ok Guys, I have to take ur leave see u all in next session SMILEY :)

 

Harish - Expert: ANY SUGGESTIONS FOR NEXT SESSION

 

Harish - Expert: TOPI

 

Harish - Expert: TOPICS

 

PETERR: how about web services

 

Harish - Expert: GREAT - POINT TAKEN

 

Chatanya: and Remoting

 

Harish - Expert: OK..

 

Dhrumit: or may be YUKON - CLR Integration

 

Harish - Expert: NOTED

 

Dhrumit: Ok Bye Harish. Thanks Again. Bye All.

 

Harish - Expert: BYE

 

Harish - Expert: OK BYE BYE GUYS

 

Harish - Expert: SEE YOU AGAIN

 

PETERR: ok folks ciao

 
     

©2009 Microsoft Corporation. All rights reserved. Contact Us |Terms of Use |Trademarks |Privacy Statement