IHttpContext::GetUser Method

IIS 7.0

Retrieves the user information container for the current context.

virtual IHttpUser* GetUser(
) const = 0;

This method takes no parameters.

A pointer to an IHttpUser interface.

The GetUser method returns an IHttpUser interface, which contains several methods for retrieving security-related information for the current request. For example, you can use the IHttpUser::GetUserName and IHttpUser::GetPassword methods to retrieve the user credentials for an authenticated user.


The HTTP context object owns the lifetime of the IHttpUser interface that is returned by the GetUser method. Therefore, you do not free this pointer when you write HTTP modules.


The following code example demonstrates how to use the GetUser method to create an HTTP module that retrieves an IHttpUser interface. The example then uses the IHttpUser::GetUserName method to retrieve the current user name. If the Web site is using anonymous authentication, the user name will be blank, and the HTTP module will return a message that the Web site is using anonymous authentication. Otherwise, the HTTP module will return the current user name to a Web client.

Your module must export the RegisterModule function. You can export this function by creating a module definition (.def) file for your project, or you can compile the module by using the /EXPORT:RegisterModule switch. For more information, see Walkthrough: Creating a Request-Level HTTP Module By Using Native Code.

You can compile the code by using the __stdcall (/Gz) calling convention instead of explicitly declaring the calling convention for each function.





  • IIS 7.0 on Windows Vista

  • IIS 7.5 on Windows 7

  • IIS 8.0 on Windows 8

  • IIS 10.0 on Windows 10


  • IIS 7.0 on Windows Server 2008

  • IIS 7.5 on Windows Server 2008 R2

  • IIS 8.0 on Windows Server 2012

  • IIS 8.5 on Windows Server 2012 R2

  • IIS 10.0 on Windows Server 2016 Technical Preview


  • IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0

  • IIS Express 7.5, IIS Express 8.0, IIS Express 10.0