Associations and find

Hi. I have the following models

class User < ActiveRecord::Base   has_and_belongs_to_many :projects end

class Project < ActiveRecord::Base   has_many :castings, :dependent => :destroy   has_many :candidates, :through => :castings   has_and_belongs_to_many :users end

class Candidate < ActiveRecord::Base   has_many :castings, :dependent => :destroy   has_many :projects, :through => :castings, :uniq => true end

class Casting < ActiveRecord::Base   belongs_to :project   belongs_to :candidate end

What I need is when I issue a Candidate.find that it will only return candidates for which the user has access to (via the projects_users habtm).

I also need a way to check if the user has access to a specific candidate.

Thank you