2017-02-02 54 views
0

我在控制器級別爲控制器和控制器中的特定操作設置了策略。但是,如果我有一個名稱爲test的模型,並且當我調用API localhost:<port>/test時,它會返回正在測試的整個數據的響應。基本上它是test.find() 如何限制這個?喜歡的東西:如何向Sails模型添加策略?

{ "test":"isAuthenticated" }

我使用passportjs帶帆一起。

回答

0

找到一種方法將其添加到API級別。 我的路線: '/modelName': { policy: 'isAuthenticated' }

+0

此策略還用於定義路由的控制器操作。 –

1

您可以在config文件夾中創建policies.js,並在其中指定控制器的策略。

{ 
// Apply 'isLoggedIn' to all actions by default 
'*': 'isLoggedIn', 
    ProfileController: { 
    'foo': 'isAdmin' 
    } 
} 

isAdmin.js是策略目錄內的js文件。您可以獲得更多信息here

+0

我已經成功地添加策略到控制器,但是如何將策略添加到特定模型?例如,我有userProfile控制器,並且已經爲該控制器中的所有操作添加了策略.'''userProfileController':{'isAuthenticated'] }這工作正常,但是當我說有一個模型叫userGrades,當我做'localhost:/userGrades'時,它會返回我應該添加策略的響應。 – hck3r

+1

您無法將模型添加到模型,您只能將策略添加到控制器。模型具有lifecylcle回調函數,只不過是該 –