チュートリアルが充実している訳ではないが、他のドキュメントは充実している気がするし、jinja2とかまぁ、他でも使っているもの結構あるし、開発が活発なので、これでいってみたくなった。
インストール---------------------------------
http://www.tipfy.org/wiki/guide/
のInstallationからbuildされたzipをダウンロードして解答すれば、基本的におわり。
dev_appserver.py /path/to/project/app
でサーバーを動かせる。これで、既にhello_worldのアプリが走っている。
extensionの追加----------------------------------
http://www.tipfy.org/wiki/extensions/
extensionは全て最初から入っている訳ではないので、
buildout.cfgのeggs=のところに必要なものを追加。
例えばtipfy.ext.aclなど。 使わないものは抜いていいらしい。
python2.5 bootstrap.py --distribute
は一回走らせればいいみたいだ。
その後
bin/buildout
を実行すると、extensionが追加/削除されている。
アップグレード-----------------------------------
http://www.tipfy.org/wiki/guide/upgrade/
project/versions.cfg
にバージョンが書かれているらしいのだが、[versions]以外は書かれていない。現状まだ問題はでてない。
基本はアップグレードするためには上記の
python2.5 bootstrap.py --distribute
bin/buildout
を繰り返せばいいみたい。
使われているライブラリについて-----------------------
babel:I18N, L10Nのためのライブラリ
jinja2:テンプレートエンジン
pytz:タイムゾーンライブラリ
werkzeug:WSGIのユーティリティモジュール
2010年7月31日土曜日
あった!
tipfy
http://code.google.com/p/tipfy/
http://www.tipfy.org/
はGAE用に作られたフレームワークなので、間違いなく動くはず。
http://www.tipfy.org/docs/api/tipfy.ext.acl.html
とaclが実装されているので、これを試してみる!
http://code.google.com/p/tipfy/
http://www.tipfy.org/
はGAE用に作られたフレームワークなので、間違いなく動くはず。
http://www.tipfy.org/docs/api/tipfy.ext.acl.html
とaclが実装されているので、これを試してみる!
2010年7月30日金曜日
gae と ACLについて
ユーザ認証でも、ACLはみんな搭載してほしいのだけど、みつからない...
一応まとめてみる。
--------------
com.google.appengine.api.users
http://code.google.com/intl/ja/appengine/docs/java/javadoc/com/google/appengine/api/users/package-summary.html
UserService を使用すると、ユーザーが Google アカウントを使用した認証を行っているかどうかを確認し、ユーザーのメール アドレスを取得できます。また、ユーザーがアプリケーションの管理者かどうかを確認することもできます。
というわけで、ACLはできないっぽい。
--------------
Django-nonrel
django.contrib.auth
管理画面を出すことは成功したが、AUTHにGroupsが出てこない。allbuttonpressedでも同様だった。
ので、Groupsに対応してないのではないか。
is_superuser, is_active, is_staffは使えるようだ。
http://bitbucket.org/wkornewald/django-nonrel/src/d69349741502/django/contrib/auth/tests/basic.py
を見ると、a.groups.all(), a_user_permissions.all()がある。怪しいけど...
--------------
app-engine-patch
https://code.google.com/p/app-engine-patch/
開発終了なのだが...管理画面にいくと、あっさりGroupsが存在してるーーーーーーー
うーーーん。開発終了してるので、使わない方がいいかなぁ。
まだ、使い方もよくわかっていないが...
---------------
kay-framework
http://kay-docs-jp.shehas.net/tutorial.html#id7
is_admin, is_anonymous(), is_authenticated()を使える
デコレータはlogin_required, admin_requiredのみ
usersを拡張して、デコレータ増やせばできそうな気がするけど...
---------------
pylons
http://pylonshq.com/
ではできるみたい
http://wiki.pylonshq.com/display/pylonscookbook/Another+approach+for+authorization+in+pylons+(decorator+based,+repoze.what+like)
だけど、gaeで動くかわかんないし...
--------------
ここらでよく考えてみる。
ManyToManyが問題で、ACLのおいしいところは、
Usersが複数のGroupsにも属すことが出来るというところか。
kayのところで書いたusersを拡張して、というやり方でいけるのかなぁ...試してみるべきか。
うまくいくなら、どれでもいいような気もしてきた。
動的にGroupつくれなくても、is_eigyoとか拡張できればそれはそれでありな気もするしなぁ...
--------------
ちょっと気になる...
http://sourceforge.jp/projects/secioss-auth/
「LDAPを使ったユーザ認証のライブラリやWebシングルサインオンを行うためのプラットフォームを開発します。Webシングルサインオン機能には、オープンソースソフトウェアのsimpleSAMLphp、PHP OpenID library、mod_auth_tktを利用しています。」
gaeでも使えるらしい...
OAuth
Twitterなどのリソースを使うときに必要そう。
pirate-politics
http://code.google.com/p/pirate-politics/wiki/GettingStarted
一応まとめてみる。
--------------
com.google.appengine.api.users
http://code.google.com/intl/ja/appengine/docs/java/javadoc/com/google/appengine/api/users/package-summary.html
UserService を使用すると、ユーザーが Google アカウントを使用した認証を行っているかどうかを確認し、ユーザーのメール アドレスを取得できます。また、ユーザーがアプリケーションの管理者かどうかを確認することもできます。
というわけで、ACLはできないっぽい。
--------------
Django-nonrel
django.contrib.auth
管理画面を出すことは成功したが、AUTHにGroupsが出てこない。allbuttonpressedでも同様だった。
ので、Groupsに対応してないのではないか。
is_superuser, is_active, is_staffは使えるようだ。
http://bitbucket.org/wkornewald/django-nonrel/src/d69349741502/django/contrib/auth/tests/basic.py
を見ると、a.groups.all(), a_user_permissions.all()がある。怪しいけど...
--------------
app-engine-patch
https://code.google.com/p/app-engine-patch/
開発終了なのだが...管理画面にいくと、あっさりGroupsが存在してるーーーーーーー
うーーーん。開発終了してるので、使わない方がいいかなぁ。
まだ、使い方もよくわかっていないが...
---------------
kay-framework
http://kay-docs-jp.shehas.net/tutorial.html#id7
is_admin, is_anonymous(), is_authenticated()を使える
デコレータはlogin_required, admin_requiredのみ
usersを拡張して、デコレータ増やせばできそうな気がするけど...
---------------
pylons
http://pylonshq.com/
ではできるみたい
http://wiki.pylonshq.com/display/pylonscookbook/Another+approach+for+authorization+in+pylons+(decorator+based,+repoze.what+like)
だけど、gaeで動くかわかんないし...
--------------
ここらでよく考えてみる。
ManyToManyが問題で、ACLのおいしいところは、
Usersが複数のGroupsにも属すことが出来るというところか。
kayのところで書いたusersを拡張して、というやり方でいけるのかなぁ...試してみるべきか。
うまくいくなら、どれでもいいような気もしてきた。
動的にGroupつくれなくても、is_eigyoとか拡張できればそれはそれでありな気もするしなぁ...
--------------
ちょっと気になる...
http://sourceforge.jp/projects/secioss-auth/
「LDAPを使ったユーザ認証のライブラリやWebシングルサインオンを行うためのプラットフォームを開発します。Webシングルサインオン機能には、オープンソースソフトウェアのsimpleSAMLphp、PHP OpenID library、mod_auth_tktを利用しています。」
gaeでも使えるらしい...
OAuth
Twitterなどのリソースを使うときに必要そう。
pirate-politics
http://code.google.com/p/pirate-politics/wiki/GettingStarted
django-nonrelをもう一度
authでgroupがでてこない...この機能が欲しいのに...と思い、もう一度一から順にやってみる。
allbuttonpressedから4つ落としてきて、testappにまず放り込む。
python manage.py runserver
で"It works"は現れるが、もちろん
http://localhost:8000/admin/
は機能しない。
まずは、authをいれたいので、settings.pyから'django.contrib.auth',のコメントアウトをはずす。
'django.contrib.addmin',を追加
urls.pyに
from django.contrib import admin
admin.autodiscover()
と
('^admin/', include(admin.site.urls)),
を追加。
管理画面はでるのだが、Usersしかでてこない。Groupsはどうしたー!!!!!
ちなみに、プロジェクトを新規につくっても、ユーザのデータベースは共通のようだ。
もう少し調べてみる。これがクリアしないと、どれで作ったらいいのか、わからーん。
allbuttonpressedを確認してみるのも手か?
allbuttonpressedから4つ落としてきて、testappにまず放り込む。
python manage.py runserver
で"It works"は現れるが、もちろん
http://localhost:8000/admin/
は機能しない。
まずは、authをいれたいので、settings.pyから'django.contrib.auth',のコメントアウトをはずす。
'django.contrib.addmin',を追加
urls.pyに
from django.contrib import admin
admin.autodiscover()
と
('^admin/', include(admin.site.urls)),
を追加。
管理画面はでるのだが、Usersしかでてこない。Groupsはどうしたー!!!!!
ちなみに、プロジェクトを新規につくっても、ユーザのデータベースは共通のようだ。
もう少し調べてみる。これがクリアしないと、どれで作ったらいいのか、わからーん。
allbuttonpressedを確認してみるのも手か?
microblogをやってみる。
Django X Python
にそって、microblogをやってみる。P.61の
$python manage.py startapp microblog
からだ。
it worksまではでるんだけど、cssがリンクされてない模様。ソースをみても、そうだから、まよしとする。
とりあえず、
http://yasakawa.blogspot.com/2010/06/django-nonreladmin-interface.html
を参考にしてみる。
うーーん。いろいろエラーが出てくるのだが、それはおいといても、
http://d.hatena.ne.jp/TaRO/20100726/1280156039
の人と同じようにcreatesuperuser
がない...と思ったら、settings.pyのコメントアウトされている
'django.contrib.auth'
を有効にしてmanage.py helpしたら使える!
ついでに 'django.contrib.sites','microblog'も付け加えた。
localhost:8081/admin/
で画面がでてきた。
ここで、manage.py createsuperuser
をして、ログインしてみた。
あれ?できない...
うーんと、こまったなぁ。ということで、もう一回整理。
GoogleAppEngineLauncherを使っているのに、manage.py createsuperuserとかって、トラブルのもと?
と思い、
GoogleAppEngineLauncherは停止にして、manage.py runserver
としてアクセス。ログインできた!
なんか、GoogleAppEngineLauncherとか使わずに素直にターミナルとTextMateとかで開発する方がいいのかな?
Eclipseだと、不要なエラー出し過ぎな気がする。コード補完とかは便利だけど、完璧ではないし...
にそって、microblogをやってみる。P.61の
$python manage.py startapp microblog
からだ。
it worksまではでるんだけど、cssがリンクされてない模様。ソースをみても、そうだから、まよしとする。
とりあえず、
http://yasakawa.blogspot.com/2010/06/django-nonreladmin-interface.html
を参考にしてみる。
うーーん。いろいろエラーが出てくるのだが、それはおいといても、
http://d.hatena.ne.jp/TaRO/20100726/1280156039
の人と同じようにcreatesuperuser
がない...と思ったら、settings.pyのコメントアウトされている
'django.contrib.auth'
を有効にしてmanage.py helpしたら使える!
ついでに 'django.contrib.sites','microblog'も付け加えた。
localhost:8081/admin/
で画面がでてきた。
ここで、manage.py createsuperuser
をして、ログインしてみた。
あれ?できない...
うーんと、こまったなぁ。ということで、もう一回整理。
GoogleAppEngineLauncherを使っているのに、manage.py createsuperuserとかって、トラブルのもと?
と思い、
GoogleAppEngineLauncherは停止にして、manage.py runserver
としてアクセス。ログインできた!
なんか、GoogleAppEngineLauncherとか使わずに素直にターミナルとTextMateとかで開発する方がいいのかな?
Eclipseだと、不要なエラー出し過ぎな気がする。コード補完とかは便利だけど、完璧ではないし...
Django-nonrel インストール
http://www.allbuttonspressed.com/projects/djangoappengine
にあるように、
django-nonrel
djangoappengine
djangotoolbox
django-testapp
をダウンロードして、django-testappを展開した中に
django-nonrel/django
djangotoolbox/djangotoolbox
djangoappengine
を放り込んだ。
それをEclipseに放り込んでみたのだが、エラーがでている。ほとんどi18n系のファイルだったが、あけてみると、エラーが消える。それでも、
django/core/urlresolvers.py
の中でfrom django.conf import settings
で「ないよー」といってくる。確かに調べてもない。が
http://djangoproject.jp/doc/ja/1.0/topics/settings.html
を見ると、「django.conf.settingsはモジュールではなくオブジェクトです。」と書いてあり、
django.conf.__init__.py
をみると、
settings = LazySettings()
となっている。ってことは問題なさそうだ。ほおっておこう。
にあるように、
django-nonrel
djangoappengine
djangotoolbox
django-testapp
をダウンロードして、django-testappを展開した中に
django-nonrel/django
djangotoolbox/djangotoolbox
djangoappengine
を放り込んだ。
それをEclipseに放り込んでみたのだが、エラーがでている。ほとんどi18n系のファイルだったが、あけてみると、エラーが消える。それでも、
django/core/urlresolvers.py
の中でfrom django.conf import settings
で「ないよー」といってくる。確かに調べてもない。が
http://djangoproject.jp/doc/ja/1.0/topics/settings.html
を見ると、「django.conf.settingsはモジュールではなくオブジェクトです。」と書いてあり、
django.conf.__init__.py
をみると、
settings = LazySettings()
となっている。ってことは問題なさそうだ。ほおっておこう。
ACLはどのようになるのか...
Kay Frameworkで認証はできるんだけど、ACLに関する記事がまるででてこない。
使えない?
djangoだとロールベースの権限管理/グループができるようだが、これはGAEで動くのだろうか...
試すために、django-nonrelを試してみることにする。
使えない?
djangoだとロールベースの権限管理/グループができるようだが、これはGAEで動くのだろうか...
試すために、django-nonrelを試してみることにする。
登録:
投稿 (Atom)