|
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: 
Harish - Expert: 
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: 
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 
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 
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 caching
Harish - Expert:
this is the answer fo the person who asked what to cache and what no
to
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 i
cannot make out from here 
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: 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 
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: 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:
<asp qlDataSource
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 
Harish - Expert:
Yukon and Whidbey are termed to as Romeo : Juliet 
Dhrumit: 
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 
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 
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:
<asp qlDataSource
EnableCaching="true" SqlCacheDependency="CommandNotification"
CacheDuration="Infinite" ... />
Harish - Expert:
again sorry 
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: 
Harish - Expert:
you have to specify an additional attribute
Harish - Expert:
<diskCache enabled="true" maxSizePerApp="2" />
Dhrumit: Ok 
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 
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:
asp ubtitution
control
Harish - Expert:
< asp ubstitution
id="Substitution1" methodname="Provide Method Name
Here"
runat="Server"> </asp ubstitution>
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 
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: 
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: 
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 
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 
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 |