You have to manually set the Csla.ApplicationContext.User property to the appropriate Principal object. This is typically done when the app starts. With single sign-on (i.e. Windows authentication), you'll just grab to the Threading.CurrentPrincipal and use that.
Back to the original question... In the first post, Warren indicated that:
Each user is assigned an application userid and role based on their Windows login which is authenticated via LDAP.
This is basically the way we do it. We have our custom "User" object, which implements IPrincipal, exposes the UserID guid property. We then set this object to Csla.ApplicationContext.User. In our business objects, before posting to the database (insert/update), we type check the AppContext.User to make sure it is our User object and, if so, use the UserID property to set the LastModifiedBy value.
HTH