1. A computer program product, comprising a non-transitory computer readable storage medium having a computer readable program code embodied therein, the computer readable program code adapted to cause a computer to be executed to implement a method, the method comprising: providing a platform of a multi-tenant on-demand database system having hardware and software that is shared by multiple tenants of the multi-tenant on-demand database system; providing, by the multi-tenant on-demand database system, multiple portals wherein each portal includes an interface specific to one of the multiple tenants of the multi-tenant on-demand database system by being branded for the one of the multiple tenants; receiving, by the multi-tenant on-demand database system, a customization of the interface from the one of the multiple tenants of the multi-tenant on-demand database system; storing, by the multi-tenant on-demand database system, the customization of the interface for the one of the multiple tenants; registering a user associated with a tenant with the multi-tenant on-demand database system, wherein the registering is performed via the portal specific to the tenant such that the user appears to register with a service provided by the tenant; storing a user object associated with the user, wherein the user object stores login information for use in authorizing a login to the portal by the user; receiving, from the user via the portal, a request for a set of data associated with the multi-tenant on-demand database system; identifying a data object of the multi-tenant on-demand database system that stores the set of data that is requested by the user; determining whether the user object is referenced by the data object, wherein the user object is referenced by the data object by storing a unique identifier of the user object in the data object; and allowing the user to access the data object via the portal in response to determining that the user object is referenced by the data object.