Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Sails WorkShop (2)
立命館大学 経営学部3回生 
井口智勝
SailsWorkShop
の目的
<for All>
Watnowにリアルタイム通信技術を導入する
<for One>
取り敢えず、書けるようになること。(スピード重視)
ある程度、体系的な知識化もしていく。
Sails WorkShop
Menu
1回目:Sailsって何?CRUDappを作ろう!
2回目:Policiesの使い方 ∼sessionや認証∼
3回目:appをリアルタイム化しよう!
4回目:Sails✕Marionette
5回目:細...
今日のアウトライン
Policiesって何?
Policiesを導入した時の開発の全体像
認証・セッションを導入しよう!
その他機能紹介(Services, Passport)
2014/12/8(Mon)
Policiesって何?
Policies in Sails are versatile tools
for authorization and access
control-- they let you allow or deny
acces...
Policyによる
粒度の細かい認証
レベル3
レベル1
レベル2
レベル4
ユーザー
レベル3ページヘの
リクエスト
任意のControllerへ
今日のアウトライン
Policiesって何?
Policiesを導入した時の開発の全体像
認証・セッションを導入しよう!
その他機能紹介(Services, Passport)
2014/12/8(Mon)
TOP
新規
作成
詳細
userCanSeeProfile
一覧
admin
編集
削除
Policies適応図
admin.js -> adminだけが通れる
userCanSeeProfile.js
->admin か 自分の画面なら通れ...
今日のアウトライン
Policiesって何?
Policiesを導入した時の開発の全体像
認証・セッションを導入しよう!
その他機能紹介(Services, Passport)
2014/12/8(Mon)
環境設定
環境設定
sails generate controller session
npm install bcrypt —save
admin.pngとpawn.pngをassets/
images/内へ
ソース
https://github.com/igtm/sails-sample-
app1
View
view/layout.ejs
L38∼L80(headerになります。)
view/session/
new.ejs
sessionフォルダの作成
new.ejsを作成(サインアップページ)
Model
User
L26∼L29 (admin追加)
L44∼L76
beforeValidate: validateする前
beforeCreate: Modelをcreateする前
Controller
UserController
L36∼L55 (既に作成済みだが少し変わってる)
新規作成された後に同時に、session認証して
いる(L47とL48)
SessionController
newはさっき作ったsession/new.ejsを表示
するだけ
createが認証(L53,L54でセッションに保存)
adminである:一覧ページへ
adminでない:自分のページヘ
policies
Policyによる
粒度の細かい認証
レベル3
レベル1
レベル2
レベル4
ユーザー
レベル3ページヘの
リクエスト
任意のControllerへ
Policyによる
粒度の細かい認証
userCanSeeProfile.js
admin.js
ユーザー
個別画面、編集、
削除
UserCanSeeProfile.js: admin+自分のpage
一覧画面
指定Controllerへ
こういうパターンも
ありだと思う
admin.js
ユーザー
個別画面、編集、
削除
isMypage.js: 自分のpage
一覧画面
指定Controllerへ
isMypage.jsadmin.js
admin.js
新規作成する
adminのみOK
userCanSeeProfile.j
s
新規作成する
adminか自分のページならOK
config
config/policies.js
L35∼L42
コントローラー名:{
アクション名:policiesファイル名
}
再定義した時はoverrideされる。×加算式
Well done!
sails liftしてみましょう!
TOP
新規
作成
詳細
userCanSeeProfile
一覧
admin
編集
削除
おさらい
admin.js -> adminだけが通れる
userCanSeeProfile.js
->admin か 自分の画面なら通れる
userC...
Policiesはcontrollerに通す前に、低粒度で
前処理ができる
おさらい
今日のアウトライン
Policiesって何?
Policiesを導入した時の開発の全体像
認証・セッションを導入しよう!
その他機能紹介(Services, Passport)
2014/12/8(Mon)
servicesって何?
モジュール
var hoge = require(‘hoge’);
marionetteのmoduleに近い??
servicesって何?
modelの継承ができる
var baseModel = require(baseModel);
_ = require( lodash );
module.exports = _.merge(baseModel,{
...
Sailsで
Passportを使う!
node.jsのライブラリ
140以上の認証を簡単利用 ( twiiter, FB )
参考:http://www.geektantra.com/
2013/08/implement-passport-j...
おつかれさまでした!
Prochain SlideShare
Chargement dans…5
×

Sails workshop2

1 104 vues

Publié le

This is a slide at in-house sails workshop.

Publié dans : Ingénierie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Sails workshop2

  1. 1. Sails WorkShop (2) 立命館大学 経営学部3回生  井口智勝
  2. 2. SailsWorkShop の目的 <for All> Watnowにリアルタイム通信技術を導入する <for One> 取り敢えず、書けるようになること。(スピード重視) ある程度、体系的な知識化もしていく。
  3. 3. Sails WorkShop Menu 1回目:Sailsって何?CRUDappを作ろう! 2回目:Policiesの使い方 ∼sessionや認証∼ 3回目:appをリアルタイム化しよう! 4回目:Sails✕Marionette 5回目:細かい部分の共有など...
  4. 4. 今日のアウトライン Policiesって何? Policiesを導入した時の開発の全体像 認証・セッションを導入しよう! その他機能紹介(Services, Passport) 2014/12/8(Mon)
  5. 5. Policiesって何? Policies in Sails are versatile tools for authorization and access control-- they let you allow or deny access to your controllers down to a fine level of granularity.
  6. 6. Policyによる 粒度の細かい認証 レベル3 レベル1 レベル2 レベル4 ユーザー レベル3ページヘの リクエスト 任意のControllerへ
  7. 7. 今日のアウトライン Policiesって何? Policiesを導入した時の開発の全体像 認証・セッションを導入しよう! その他機能紹介(Services, Passport) 2014/12/8(Mon)
  8. 8. TOP 新規 作成 詳細 userCanSeeProfile 一覧 admin 編集 削除 Policies適応図 admin.js -> adminだけが通れる userCanSeeProfile.js ->admin か 自分の画面なら通れる userCanSeeProfile userCanSeeProfile サイン イン adminなら adminじゃ ないなら
  9. 9. 今日のアウトライン Policiesって何? Policiesを導入した時の開発の全体像 認証・セッションを導入しよう! その他機能紹介(Services, Passport) 2014/12/8(Mon)
  10. 10. 環境設定
  11. 11. 環境設定 sails generate controller session npm install bcrypt —save admin.pngとpawn.pngをassets/ images/内へ
  12. 12. ソース https://github.com/igtm/sails-sample- app1
  13. 13. View
  14. 14. view/layout.ejs L38∼L80(headerになります。)
  15. 15. view/session/ new.ejs sessionフォルダの作成 new.ejsを作成(サインアップページ)
  16. 16. Model
  17. 17. User L26∼L29 (admin追加) L44∼L76 beforeValidate: validateする前 beforeCreate: Modelをcreateする前
  18. 18. Controller
  19. 19. UserController L36∼L55 (既に作成済みだが少し変わってる) 新規作成された後に同時に、session認証して いる(L47とL48)
  20. 20. SessionController newはさっき作ったsession/new.ejsを表示 するだけ createが認証(L53,L54でセッションに保存) adminである:一覧ページへ adminでない:自分のページヘ
  21. 21. policies
  22. 22. Policyによる 粒度の細かい認証 レベル3 レベル1 レベル2 レベル4 ユーザー レベル3ページヘの リクエスト 任意のControllerへ
  23. 23. Policyによる 粒度の細かい認証 userCanSeeProfile.js admin.js ユーザー 個別画面、編集、 削除 UserCanSeeProfile.js: admin+自分のpage 一覧画面 指定Controllerへ
  24. 24. こういうパターンも ありだと思う admin.js ユーザー 個別画面、編集、 削除 isMypage.js: 自分のpage 一覧画面 指定Controllerへ isMypage.jsadmin.js
  25. 25. admin.js 新規作成する adminのみOK
  26. 26. userCanSeeProfile.j s 新規作成する adminか自分のページならOK
  27. 27. config
  28. 28. config/policies.js L35∼L42 コントローラー名:{ アクション名:policiesファイル名 } 再定義した時はoverrideされる。×加算式
  29. 29. Well done! sails liftしてみましょう!
  30. 30. TOP 新規 作成 詳細 userCanSeeProfile 一覧 admin 編集 削除 おさらい admin.js -> adminだけが通れる userCanSeeProfile.js ->admin か 自分の画面なら通れる userCanSeeProfile userCanSeeProfile サイン イン adminなら adminじゃ ないなら
  31. 31. Policiesはcontrollerに通す前に、低粒度で 前処理ができる おさらい
  32. 32. 今日のアウトライン Policiesって何? Policiesを導入した時の開発の全体像 認証・セッションを導入しよう! その他機能紹介(Services, Passport) 2014/12/8(Mon)
  33. 33. servicesって何? モジュール var hoge = require(‘hoge’); marionetteのmoduleに近い??
  34. 34. servicesって何? modelの継承ができる var baseModel = require(baseModel); _ = require( lodash ); module.exports = _.merge(baseModel,{ attributes: { } }
  35. 35. Sailsで Passportを使う! node.jsのライブラリ 140以上の認証を簡単利用 ( twiiter, FB ) 参考:http://www.geektantra.com/ 2013/08/implement-passport-js- authentication-with-sails-js/
  36. 36. おつかれさまでした!

×