Home > Archives > 2010-05
2010-05
CakePhp1.2.7 で Acl構築
- 2010-05-29 (土)
- cakephp
CakePhpでアクセス制御の仕組みを実装したいというとき,
Auth , Acl , Session , Security コンポーネントを利用することでcakeに組み込まれている強力なAcl-Aroの管理システムを構築することが可能です。
どんな物をどう作ろうと,ユーザ登録や管理者向けの機能がある限り,アクセスを制御できる仕組みを作ることになりますので,
特別な事情が無い限り,この方法を利用できるようにした方が良いと思います。
アプリケーションの準備 :: ACL を制御するシンプルなアプリケーション :: 開発例 :: マニュアル :: 1.2 Collection :: The Cookbook
CakePHPでACLを実装する際のメモ
CakePHP 10.2 ACL 開発例の補足 - WORKS-BB - オープンソース、PHP開発、ホームページ作成、ブログカスタマイズ
Auth and ACL an end to end tutorial pt. 1 | Mark Story
CakePHP ACL Database Setup: ARO / ACO structure? - Stack Overflow
上記サイトを参考にしていただければcakeに慣れた方ならエントリーを追いながら問題なく作れると思います。
ですが,Authコンポーネントの利用が必須なので,すでに完成しているアプリに追加で組み込む場合などは難しいかもしれません。
要件にもよるのですが,元々が単純な仕組みなので小規模ならapp_controllerに直書きできたりします。
しかし,ユーザやグループや管理者が増えたり,コントローラが増えたり・・・となってくると記述も増えてメンテナンスもしにくくなるので
どこかでDBで管理できる仕組みが必要となってきます。
ちなみに,cakeに精通していない段階で(特にbake)挑戦すると,各所でつまづいて挫折・・・なんてこともあるかもしれません。
私も最初はなかなか理解できず,自作していました。
その間,関連するエントリーをプリントアウトして何度も読みました。
あとはCakeやRDBMSと仲良くなってくると自然と理解できるようになりました。
もしも「ACLよく分からない」と感じられて昔ハマったままだったりしたら,
そろそろいける!と思ったころに
CakePHPでACLを実装する際のメモ
CakePHP 10.2 ACL 開発例の補足 - WORKS-BB - オープンソース、PHP開発、ホームページ作成、ブログカスタマイズ
こちらの記事で挑戦してみてください。
その際
cake schema generate
cake schema run create DbAcl
で
schema.php could not be loaded
cakephp try cake bake
などエラー出た場合は
php cake.php schema generate
php cake.php schema run create DbAcl
で試してみてください。
UserとGroupテーブルを利用する古い方法
realm3 web applications, LLC : Setting Up User Groups With ACL and Auth in CakePHP 1.2
Auth component + Cake 1.2 - CakePHP | Google グループ
こちらも利用はしなくてもとても勉強になります。
windowsXPのmysql5.1でrootパスワードを忘れた
- 2010-05-27 (木)
- mysql
インストーラ有りの場合(windowsのサービスとしてmysqlが動いている方)
MySQL :: MySQL 5.1 リファレンスマニュアル :: B.1.4.1 How to Reset the Root Password
下のほうにUnix系の場合の記述もあります。
インストーラ無し(cmd > mysqld –consoleとかで起動している方)
1.権限フリーオプション付でmysql起動
まずはmysqlを停止する。
その後
mysqlフォルダ
bin/my.ini
の
[mysqld]
に
skip-grant-tables
を追加して再起動。
もしくは mysqld –skip-grant-tables のようにオプション付で直接起動
2.rootパスワードを再設定する
どう起動したかにもよりますが
とにかく起動時とは別のcmd開いて
mysql -uroot mysql
でrootログインできます。
ログインしましたら,いくつか方法はありますがとにかくuserテーブルのrootのパスワードを変更します。(*下にも少し詳しく書きました)
今回は
mysql> UPDATE mysql.user SET Password=PASSWORD('newpassword') WHERE User='root';
でフィールドを変更後
mysql> flush privileges;
反映しました。
余談ですが上実行後
Rows matched: 2 Changed: 2 Warnings: 0
と言われなんで2なのと思い
select * from mysql.user where User=’root’;
してみるとhostが
localhost
と
127.0.0.1
のrootが2人いました。パスワードは一緒でした。
これがいたって普通の状態なのか,それとも過去に何か理由があって自分で設定したのかは覚えていないです。
確か127.0.0.1をlocalhostとmysqlに認識させるコマンドがあったような気もして,
というか普通 @localhost で済むような。
とりあえず今のところ困っていないのでいいのです。
3.rootで通常ログインして確認
ini書き換えた方は skip-grant-tables を必ずコメントアウトするか削除してください。
cmd > mysql -uroot -pnewpassword
でログイン可能か確認できれば無事完了です。
4.補足など
補足1というかまとめ
mysqlのrootパスワード忘れ対策として紹介されている方法は,
権限フリー状態オプションで起動=>rootのパスワード再設定
もしくは
権限初期化=>rootのパスワード初期設定
のどちらかなのですが,後者は他のユーザどうするの・・・とかめんどいので前者ができるならその方が良いと思います。(外部へのネットワークは遮断して行うのが良いと思います)
あと,mysql 4 と mysql 5で多分変わらないと思います。・・・多分。
違いがあるとすればold password関連とかだと思いますが4でもPASSWORD('’)でハッシュ化する部分がどこかの記事で見た覚えがあるので・・・多分。
詳しくは試すか調べるかしてみてください。
補足2 xammp版の場合は初期化するbatがあるそうです
補足3 その他
MySQL :: MySQL 5.1 リファレンスマニュアル :: 4.7.8 Access denied エラーの原因
その他Access Deniedについて書いてあります。
おなじみのパスワード間違いによるAccess Denied
Access denied for user 'root'@'localhost' (using password: YES)
こちらについても詳しく載っています。
MySQL :: MySQL 4.1 リファレンスマニュアル :: 4.4.4 MySQL 権限の初期設定
パスワードの初期設定の方法が3種類
1.SET PASSWORD FOR を使う
2.テーブルを直接UPDATE
shell> mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('new_password')
-> WHERE user='root';
mysql> FLUSH PRIVILEGES;
3.mydsqladmin を使う
載っています。
再設定時にもお好みの方法で。
eclipse3.5とPDTにsubversionプラグインのインストール
- 2010-05-27 (木)
- 開発環境
以前,何かしらのsvn用プラグインはインストールして利用していましたが
Eclipse 3.4でのバーション管理方法(Subversion編) ~Eclipse 3.4入門~(1/4):CodeZine
こちらの紹介通りにとりあえず作業してみたのでメモ。
eclipseのバージョンか何かの違いでeclipseの新規ソフトインストール時の表示が上サイトと少し違ったので対応させてみます。
何で日本語化したのか覚えていないので環境の違いなど乗せられず参考にならにかもしれませんが・・・。
[codezineさんの表記]:[ヘルプ(H)]-[ソフトウェア更新…]を選択し[使用可能なソフトウェア]タブで[サイトの追加]ボタンをクリック
[私の環境]:ヘルプ > 新規ソフトウェアのインストール > 一番上の作業対象の右端の追加ボタンクリック
でロケーションの入力ができるのですが,一緒に名前も(多分自分用の覚書)入力しなくてはならないので,
URLを入力しておきました(自分でつけてしまうと,後々分かりづらくなりそうなので)。
追加が終わったら
作業対象のメニューバーを–すべての使用可能なサイト– にして,あとはcodezineさん記述どおりに
svn をフィルターに入力するとプラグインを選べます。
ここで,私の環境ではプラグイン名が全て日本語化されていたので対応するものを探してみました。
[codezineさん表記]:
Subversive SVN Term Provider
Subversive SVN Term Provider Localization
Subversive SVN Connecters
SVNKit 1.2.2 Inplementation
にチェックを入れる
[私の環境での表記]:
Subversive SVNチーム・プロバイダー(インキュベーション)
Subversive SVNチーム・プロバイダー・ローカライゼーション(オプション)(インキュベーション)
Subversive SVNコネクター
SVNKit 1.2.2実装(オプション)
まあ・・・まんまなのですが,せっかく探したので迷った方のお役に立てればと思い書いておきます。
その後,インストール内容を確認し,使用条件に同意するを選択してインストール,と順番に進めばインストールが始まります。
その後証明書を信頼しますかときかれますのでチェック入れて続行。
再起動を促されるのでeclipse再起動。
以上で,codezineさんの記事どおりにsvnプラグインのインストールが完了しました。
* * * * * * * * * * * * * * * *
今回書いていて思ったのは,自分の環境て一度インストールしてしまうと詳しく覚えていないですよねバージョンとか。
頻繁に環境を構築している方々は覚えているものなのかもしれませんが,仕事でやる以上はしっかりと記録しておかなくてはいけないとあらためて感じました。当たり前のことかもしれませんが,私はできていなかったので反省。
何事も経験でしょうが,環境を移動する場合やマシントラブルなど予期せぬ事態で困るのは自分なんですよね。
明日にでもセットにして焼いておこう・・・。
visualsvn serverをインストールする
- 2010-05-27 (木)
- 開発環境
windowsXP + apache2.2 + mysql5.1がインストール済みで開発やテストに使用しているマシン上にて
eclipse3.5 と PDT + svn での新規アプリケーション開発時メモ。
Eclipse 3.4でのバーション管理方法(Subversion編) ~Eclipse 3.4入門~(1/4):CodeZine
こちらの記事を参考にvisualsvn serverをインストールするがすったもんだしたのでその記録です。
1)ダウンロードしインストーラを起動,途中でエラーが出る。
~~がfailed というエラー(次回再現できたらエラー内容も載せます)。
インストーラのfinishを押すと,rollbackしてダイアログで
「途中でエラーが発生したので未完全なインストールです
再度インストーラを起動してmodifyしてください」
と言われる。
この画面で
apache2.2 と visualsvn server をインストールしようとしていたことを初めて告げられる。
httpサーバ同梱?
マシンでは元々入っているapacheが走っていたので,エラーの原因はこれかなと思い
visualsvn serverのみのインストーラなど無いのかなと再びダウンロードサイトを確認するがパッケージは1種類のみでした。
2)再び,最初にダウンロードしていたインストーラを起動し,
「visualsvn managerのみインストール」を選択して開始を押す。
さきほどとは違う画面が続いてインストールが完了したので上手いこと行ったのかと思いmanagerを起動してみると,
「visualsvn serverが未インストールです」と表示されている。
3)server と manager は別物で, server のみ(apacheいらない)インストールという項目が無いのでなんか紛らわしいと
思いながら三たび,最初にダウンロードしたインストーラを起動する。
と, modify と 削除と何か~ を選べる状態になっていました。
初回インストール時のエラー発生時に言っていたmodifyしてくださいとはこのことだったらしい。
modifyを選択し,開始を押すとシステムをなんちゃらしています~~など表示され,じきにインストールが正常に終わりました。
4.managerを起動するとcodezineで紹介されている通りの画面になったので
新規リポジトリを作成し,svnサーバの準備が完了しました。
- タグ: svn
Home > Archives > 2010-05
- タグクラウド
- 911 98 Acl ADSL ajax apache api bake BSE cakephp centOS css C言語 database db dom ECCUBE eclipse EM exec php google html javascript json lan linux mbr model mysql nec nic oscommerce password pbr pbs pci PDF pear php php4.3.9 phpexec phpのエラーコード pppoe SMAP Smarty SPAM sql sqlite svn Synergy TCP/IP ubuntu validation VMwarePlayer windows windowsXP wordpress xampp xml えひめAI くしゃみ ひかり ひかり接続 アキヒト イカ インデックス エコ エラー オリンピック カスタマイズ カスタムフィールド カタカナ キーワードEYE シュレッダー ジーオーグループ スクリプト セキュリティ センター直前 ソルトレイク タコ ダイアルアップ ダウンタウン テレビ テレホーダイ テロ デバッグ デュアルブート データサルベージ ネットショップ ネットワーク ハイライト バイク バックアップ バージョン切り替え フリーズ ブックオフ プラグイン プリンタ プログラミング プーチン マイケルジャクソン マコーレ・カルキン メモ メール リキッドレイアウト リサイクル レイアウト レンタルサーバー 不満 事故 人生 仮想化 再生紙 別れ 加圧式ボールペン 受験 哲学 夏 夏目漱石 夢十夜 家族 島谷ひとみ 怠惰 怪奇 感謝 技術メモ 文字 文字コード 料理 旅 正月 歯痛 焼き豚 牛肉 犬 理科年表 環境問題 生きる 画像 示談金 視覚 言葉 降水量 雨 青画面 風邪 飲みすぎ google
- 検索
- Feeds
- Ads