if you want to iterate through each site for the current user , you can use the GetSubwebsForCurrentUser method of the SPWeb class.After you just have to test the List.BaseType property and so on ...