Web Forms :: How To Set And Check Global User Class Or A Var
Apr 6, 2010
I have a .NET 3.5, C#, Silverlight 3, and LINQ Solution. My issue is this:
When a User goes to login I want to set a global class User; it has the properties of UserName and SecurityLevelId.
Then allow them access rights depending on SecurityLevelId. The real problem occurs because this project loads App page which calls the Shell page which calls the Navigation class. On Navigation instantiation it actually instantiates 6 other pages BEFORE you even get to the Login page.
So how in the World am I supposed to set and check all this if the page is loaded before I even go to it?
I am redirecting user from http to https if page is not secure from global.asax file in application_Begin event
But there are some pages in which i don't want to redirect to https page. I want to detect any form element which will tell me weather page should be secured or not. but when i check Requet.Form[_Viewstate] it gives me null value. Right now i check like Request.PhysicalPath.ToLower().IndexOf("test.aspx") ==-1 && !page.IsSecureConnection-> redirect to secure page but in future there will be more page which should be on http.
Is there any general way to redirect to https if page i added any hidden field on page "hfIsHttps=1" and detect that element if 1 then go other wise don't go Following is my code global.asax in application_Begin event
[code]....
I want, instead of hard core check for perticular page there should be general way, like each page itself should tell weather it should be for http or https
I have added global.asax file in my webservice project. in webservice project i have one class file name as 'Class1.vb' in this class contain some methods() , i want to access those methods from 'class1.vb' in global.asax.vb file. any body knows how to access those methods in global.asax.vb. file
Currently in my personal website I'm building I'm using a global static Config class to hold everything configurable I might need to change that is semi-global. So right now it looks about like this:
[code]....
Is using a global config class like this an anti-pattern of some sort? Also, I prefer for my connection strings to be outside of web.config. I like my web.config to be as minimal as possible.
I have build a UserControl with separate code behind file.In that code behind file i have defined some public properties in the Partial class of user control that was automatically generated.Those properties will initialize some properties of controls that are used in the control.Now, in .aspx page i used this User Control and initialized the public properties through code behind of aspx page for dynamic contents.
I am using PageMethods in my pages, and we have some requirement in which some maintenance process happened in certain time span, so in that time we set on DB flag consider as True False, I have written my code in Global.asax where in application_AcquireRequestState(...,...) Method I am checking the flag and depanding upon the flag I am redirecting my Page to one Maintenance dummy page, so application_AcquireRequestState() method working properly when page get postback or I am using thru any server control, but when I am using Asynchronous call using PageMethods in application_AcquireRequestState I am getting exception, Can anyone solve my problem I am using VB.NET.
I have a property on my Global.asax.cs class that I need to access from a business class, i.e. using HttpContext.Current. How do I do this? Global.asax.cs (in a web project)
public partial class Global : System.Web.HttpApplication { public static ProxyGenerator Generator = new ProxyGenerator(); Business class (in a separate business project) var generator = ((Sei.Osp.Web.Global)HttpContext.Current.ApplicationInstance)
This obviously doesn't work and I don't want to reference the whole web project in the business project as it will create a circular reference (the business project is already referenced in the web project)
UPDATE:
To clarify - the property I'm creating holds an instance of the Castle Dynamic Proxy Generator class. I've read that you shouldn't just create this all over the place. So I thought I'd create it in my Global.asax.cs and then just use that instance wherever I need to create a proxy class (I'm using it to do AOP) Is there a better way of doing this?
am currently working on a web application, whereby I want to add code to the Application_BeginRequest method of the Global.asax file, without adding code to the Global.asax file, which sounds a little crazy, let me explain a bit more.If anyone has ever developed in sitecore before, they would have seen that the Global.asax file has empty methods, however it has 'using Sitecore;' and the global.asax file provided does not inherit from System.Web.HttpApplication.
When I run my app locally I get no errors. No error from Global.asax, no redirection to an error page. Everythings works fine.
When I deploy my app to a test server, my app run there with no errors. No error from Global.asax, no redirection to an error page. Everythings works fine on the test server.
But when I deploy my app to production server, the app runs fine but I keep getting errors (emailed to me) from Global.asax. On production server we have these security apps that run and keep hitting all URLs of the app on the server. Just to make sure they are working fine. When these security app hit URL of my app, my application runs fine but it gives out this global.asax error. The funny thing is that error is empty. The error are emailed to me and the email is empty. Nothing there.
There are several other apps running on the same server. My app has its own app pool and is configured correctly.
I would like know how to declare a global variable that can be used within a user after the user login and before the user logout across all the possible pages.
I need to develop a web application that will connect to 5 different servers depends on the selection of user on what server they wish to connect and after they select a server and login...I will need to keep track the server name in a variable last until the user logout (user may visit various pages but the server name MUST NOT be changed due to other user login into different server). So how can I do it so that other users may select different servers and will keep the server name for each different users.
Let says:-
User A selects Server A and login and User B selects Server B and login at the same time, so how the global variable can handle the needs for each user (User A & B) with different server select?
Is "Session" the only way to fulfill the above? I think of using Application State but it seems that the value stored will be shared by all users and not for a particular user.
I am using form authentication in my website. I have a scenario wherein the user is authenticated but the session has timed out. So, i would like to initialize some session variables in Session_Start of Global.asax (First i check if Request.IsAuthenticated=True). For that i required the name of the user who authenticated. On .aspx pages we can get it using Page.User.Identity.Name but how to get it in global.asax page.
I need to keep a global variable throughout the whole time the user is at my site, but do I use Application or a static class? The string variable should store a region name and my site makes a few changes depending on which region that has been set.
I read that Application was mainly for classic ASP, but I also read that a static class cannot be instantiated at runtime (e.g. when the user has logged in).
So, have I got something wrong here and which solution do I use?
I am createing user dynamially with the below code; string MyPassword = Membership.GeneratePassword(8,0).ToString(); Membership.CreateUser(TextBox7.Text, MyPassword, TextBox8.Text); but before I start creating, I would like to check if the user name is used before or not.
Users will purchase Items and as soon as it reaches the products min value it will mail and process to all people who purchased in past but not processed as the min value not reached.
Let's suppose there is products called PRD01 which has min value of 10. A person (Per1) purchased 3 qty but it will not processed immediately as the min value not reached. Now another person (Per2) purchased 7 qty since it has reached the min value it should mail the Per1, Per2 confirming their order.
I have created a function which whill check if the MinValue reached Once the person does checkout. User Order should be processed imediately and if the Min value reached he should be mailed even he has closed the browser.
I have a custom provider for authenticaiton that is HTTP Module-based. IIS authentication and web.config authentication is configure to 'None' and allow anonymous. When I probe for User.Identity.Name in Session_Start, it is empty. However User.Identity.Name works elswhere in the application as expected (returns the current user id). Is it possibly during Session_Start no authentication request has been issued, therefore there is no principal at this moment?
In the website we have several folders, some folders are accessible by anonymous users, others are accessible by members only, some by administrators or a both administrators and members can view this folder. Each folder contains some forms; these forms are based on the role as well. We'd like to add "user.identity" as to authenticate the user based on the user_id from table websit_ users.
However we are not sure , wither we need to specify each and every form, folder or this will be done automatically once authentication is applied. And where do we put the user.identity and what is the exact format of it. Do we include it in our Global.asax after the authentication part?! This is the code in global.asax:
What should be done if I want to redirect a user based on their ISO Codes?
And how should I detect a website user's IS Code in the first place? Like I know there are these server variables that we use to detect Client IP and all (HTTP_FORWARDED_FOR, REMOTE_ADDRESS, etc) but information about them on the many sites that I have read has got me confused about what to use. Like some say there can be comma separated IPs returned by HTTP_FORWARDED_X and out of those IPs , one is not sure which is the real IP and which are the proxy addresses. Also, that all the IP addresses in returned can be fake.
How to I fetch the REAL IP Address of a person? Like I only want to know what country a particular person is sitting so I can redirect the user accordingly. Secondly lets say a person is sitting in US then I want the user to be redirected to [URL] If a person is visiting my site from Germany, [URL] is the address that I want the person to be redirected to.Also if DE is the ISO Code then I want my GermanMaster.master page to load and if its US then I want that the USMaster.master should load.
So how do I fetch a user's not fake IP address, redirect a user based on that ISO code and then load a master page according to the ISO Code.
How do I go about it? I haven't ever worked with Global.asax before so clueless how to go about it all.
I do my best to catch all the exceptions but I would like to send users to a standard error page if an exception that I couldn't catch occurs. Is there a way to set this globally?