add hasPermission to BaseController allowing for elimination of SiteController