As described in this post, I created an abstract base controller class in order to be able to pass data from a controller to master.page. In this case, I want to lookup a user in my db, querying for User.Identity.Name (only if he is logged in).
However, I noticed that in this abstract base class the User
property is always null
. What do I have to do to get this working?
Thanks a lot
To use the user, you should get the current page from
As Paco suggested, the viewdata isn't initialized till after you are trying to use it.
Try overriding Controller.Initialize() instead:
I use Page class on my static Utlilites classes. Like that;
Page P = (Page)HttpContext.Current.Handler;
and i can get all properties via the P object for the current requested page..
Have you tried this: ControllerContext.HttpContext.Current.User.Identity.Name?
By setting authentication to Windows in web.config, you can get the user with User.Identity.Name