HighTechTalks DotNet Forums  

Application_AuthorizeRequest

ASP.net ASP.net discussions (microsoft.public.dotnet.framework.aspnet)


Discuss Application_AuthorizeRequest in the ASP.net forum.



Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old   
MCM14
 
Posts: n/a

Default Application_AuthorizeRequest - 06-29-2010 , 12:43 PM






I use the Sub Application_AuthorizeRequest in the application pipeline to do
some custom page authorization. Basically I check the page requested and
redirect to the Login page if needed. The problem is, every single request
gets sent through here, including static files like .css. Is there a way for
me to configure this to only trigger when a .aspx file is requested?

Reply With Quote
  #2  
Old   
Shengqing Yang [MSFT]
 
Posts: n/a

Default RE: Application_AuthorizeRequest - 07-07-2010 , 02:29 AM






Hi MCM14,

Based on my understanding, you got the problem that the
Application_AuthorizeRequest checks all the requests including static files
like .css file and .js file. As far as I know, this issue only occurs when
we are debugging the website via ASP.NET development server of Visual
Studio.

As we know, the module that ASP.NET development server holds is different
from the one working with IIS. It makes all the requests of files go
through its application pipeline. But when the site is published to IIS,
only the requests to the specified file extensions will access the
application pipeline. This list can be found and edited in IIS.

I made a test demo to illustrate this phenomenon just using a blank ASP.NET
page linking a .css file and some simple code in
Application_AuthenticateRequest function.

//ASP.NET page

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs"
Inherits="WebApplication1._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
<link rel="Stylesheet" href="Stylesheet1.css" />
</head>
<body>
<form id="form1" runat="server">
<div>

</div>
</form>
</body>
</html>

//Application_AuthenticateRequest function in Global.asax.cs

protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
using (StreamWriter sw = new
StreamWriter(Server.MapPath("~/log.txt"),true,System.Text.Encoding.Default))
{

sw.Write(Request.Url.ToString() + "\r\n");
}
}

When we debug this page via Visual Studio, the log.txt will be appended
info like this:

http://localhost:6402/Default.aspx
http://localhost:6402/Stylesheet1.css
http://localhost:6402/favicon.ico

But after we publish the site to IIS 7 and run it again, the log.txt will
only have info like:

http://localhost/default.aspx


--
Sincerely,
Bravo Yang
Microsoft Online Support

==================================================

Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/en-us/subscriptions/aa948868.aspx#notifications.

MSDN Managed Newsgroup support offering is for non-urgent issues where an
initial response from the community or a Microsoft Support Engineer within
2 business day is acceptable. Please note that each follow up response may
take approximately 2 business days as the support professional working with
you may need further investigation to reach the most efficient resolution.

The offering is not appropriate for situations that require urgent,
real-time or phone-based interactions. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/en-us/subscriptions/aa948874.aspx

==================================================

Reply With Quote
  #3  
Old   
Shengqing Yang [MSFT]
 
Posts: n/a

Default RE: Application_AuthorizeRequest - 07-11-2010 , 10:19 PM



Hi MCM14,

You can find the list by the steps below.

For IIS6:

1. Open Internet Information Services (IIS) from Administrative Tools in
Control Panel.
2. Select your website from the Web Sites tree node and right click it to
open the Properties dialog window.
3. Go to Home Directory tab and click the Configuration Button in
Application Settings frame.

For IIS7:

1. Open Internet Information Services (IIS) from Administrative Tools in
All Control Panel Items.
2. Select your website from the Web Sites tree node.
3. Double click the Handler Mappings icon from the IIS frame in the main
page of window.

--
Sincerely,
Bravo Yang
Microsoft Online Support

==================================================

Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/en-us/subscriptions/aa948868.aspx#notifications.

MSDN Managed Newsgroup support offering is for non-urgent issues where an
initial response from the community or a Microsoft Support Engineer within
2 business day is acceptable. Please note that each follow up response may
take approximately 2 business days as the support professional working with
you may need further investigation to reach the most efficient resolution.

The offering is not appropriate for situations that require urgent,
real-time or phone-based interactions. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/en-us/subscriptions/aa948874.aspx

==================================================

Reply With Quote
  #4  
Old   
MCM14
 
Posts: n/a

Default RE: Application_AuthorizeRequest - 07-19-2010 , 11:56 PM



Thanks very much.

"Shengqing Yang [MSFT]" wrote:

Quote:
Hi MCM14,

You can find the list by the steps below.

For IIS6:

1. Open Internet Information Services (IIS) from Administrative Tools in
Control Panel.
2. Select your website from the Web Sites tree node and right click it to
open the Properties dialog window.
3. Go to Home Directory tab and click the Configuration Button in
Application Settings frame.

For IIS7:

1. Open Internet Information Services (IIS) from Administrative Tools in
All Control Panel Items.
2. Select your website from the Web Sites tree node.
3. Double click the Handler Mappings icon from the IIS frame in the main
page of window.

--
Sincerely,
Bravo Yang
Microsoft Online Support

==================================================

Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/en-us/subscriptions/aa948868.aspx#notifications.

MSDN Managed Newsgroup support offering is for non-urgent issues where an
initial response from the community or a Microsoft Support Engineer within
2 business day is acceptable. Please note that each follow up response may
take approximately 2 business days as the support professional working with
you may need further investigation to reach the most efficient resolution.

The offering is not appropriate for situations that require urgent,
real-time or phone-based interactions. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/en-us/subscriptions/aa948874.aspx

==================================================

.

Reply With Quote
Reply




Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.