1. A computer implemented method for providing a secure naming system for a set of objects in an object-oriented system having a plurality of name servers, said method comprising the steps of: implementing a first context object in a first name server, said first context object comprising a first encapsulated principal identifier and at least one name binding, each of said name bindings comprising a name and an object; implementing a second context object in a second name server, said second context object comprising a second encapsulated principal identifier and at least one name binding, each of said name bindings comprising a name and an object; binding said second context object to a second context name within said first context object; binding a desired first object to a first object name within said second context object; requesting said desired first object for a client using a path name comprised of said second context name and said first object name and a desired set of access rights; and resolving said request for said desired first object by performing the steps of resolving said second context name to receive a representation of said second context object located in said second name server; assuring said second name server that a name resolution from said first name server to said second name server is secure; resolving said first object name within said second context object to receive a duplicate of said desired object that encapsulates the first encapsulated principal identifier and the desired access rights.