Topic: アクセス管理について  (Read 8220 times)

Pages: [1]   Go Down

#1: 14-Sep-2006, 10:56 AM

rb26dett1615
Posts: 6

MODxを使い始めて日が浅い(3日位)んですが、どなたかお助けください。
アクセス管理関係(初歩的すぎるかもしれませんが?)ですが、
あるユーザー(仮にXとします)がID1(当然ルート)のページは確認のため見れるだけ。
ID2のページは編集も可能。

この場合どのようなパーミッション設定を施せば宜しいのやら??
現在

adminユーザー アクセス許可  fullのみ  権限管理 フルアクセス
ユーザグループ               full
ドキュメントグループ         full
ユーザ/ドキュメントグループ full<-->full

Xユーザー アクセス許可     writeのみ 権限管理は 編集関係のみ
ユーザグループ               write
ドキュメントグループ         write
ユーザ/ドキュメントグループ write<-->write

ID1のページ アクセス許可 full のみ
ID2のページ アクセス許可 全ドキュメントグループ (Public)

この設定にて Xユーザー にてログインすると、ID1もID2も両方のドキュメントが
見れなくなってしまいます。
長くなりましたが、このような場合どう設定すればいいのでしょう
どなたか宜しくお願いします。

#2: 14-Sep-2006, 08:11 PM

custar
Posts: 224

こんにちは、rb26dett1615 さん。

同じく modx 初心者の custar です。他フォーラムで質問しまくってます。


ユーザー・グループとドキュメント・グループが同名なので分かりにくいです
ね。後々混乱しませんか?

それは置いといて、ご質問の件なのですが、X がアクセスしようとすると、

ID1
  -> ID1 はドキュメント・グループ「full」に属す
  -> full はユーザー・グループ「full」にしかアクセス権がない
  -> X ユーザーはユーザーグループ「full」に属してない
  -> X ユーザーは ID1 を閲覧不可
 
ID2
  -> public
  -> 誰でも見れる。
  -> あれ? 何で X が見れない?
  -> ID2 は公開されてない?

何か他に提示されていない情報があるのでは?

#3: 15-Sep-2006, 02:17 AM

rb26dett1615
Posts: 6

custarさんはじめましてお世話になります!
何か他に提示されていない情報があるのでは?

そうですねー 書き忘れていることと言えば

Xにてログイン  ドキュメントツリーにシャドー表示で "フォルダは空です" とのみ表示
MODx設定->ユーザ設定  アクセスパーミッションの使用:YES  ルートディレクトリの許可:YES

そんなところでしょうか
逆にここの設定見直すべきって所が有ればお教え願いますでしょうか
宜しくお願いします。

#4: 15-Sep-2006, 05:31 AM

custar
Posts: 224

X から見ると、
  • id1 は、閲覧だけで編集も削除もできない、
  • id2 は、閲覧・編集だけで削除はできない、
と解釈して宜しいでしょうか。

なんか設定不足な感じがします。


私にとって説明が読み取りにくかったので、こちらで勝手に推測してこんなん
じゃないのかな?と言う設定をしてみました。

目的は、
Quote
ユーザーは、自分の属するユーザーグループが編集権限を与えられているドキュ
メント・グループに対してのみ、編集を行えるようにする。
と言うことで。

modx を使い始めたばかりなので間違っているかもしれませんが、私のやり方だと、


(1) コンテンツの編集を行う Editor という Role を作る。
Quote
Content management
[ x ] View a document's data
[ x ] Create new documents
[ x ] Edit a document
[ x ] Save documents
[ x ] Delete documents
[    ] Edit document META tags and keywords
[ x ] Empty the site's cache
[    ] View Unpublished Documents
その他はデフォルトのまま。

(2) 編集グループ Editors を作る。
User groups: Editors

(3) 編集グループ Editors が編集するドキュメント・グループ ContentsX を作成する。
Document groups: ContentsX

(4) 編集グループ Editors とドキュメント・グループ ContentsX を関連付ける。
User/ Document group links: Editors   - ContentsX 

(5) "Editor" 権限をもち、"Editors" グループに属するユーザー editor1 を作成する。
User's role: "Editor"
Access permission: "Editors"

(6) 新規ドキュメント作成
Title               : HelloWorld
Long title         : Hello World
Document content   : Hello World!
Published?         : [ x ]
Access permissions:
  [    ] All Document Groups (Public)
  [ x ] ContentsX


これで、目的は達せられると思います。
大事な点は、ドキュメントとユーザーの関連付けだと思います。

ユーザーグループ Editors に属さない人が管理画面に入っても、ContentX へ
のアクセス権がないので、ドキュメント・ツリーに (6) のドキュメントは表示
されません。

そんな状況にユーザー X はなっているんじゃないですか。

#5: 15-Sep-2006, 12:26 PM

rb26dett1615
Posts: 6

私の書き方が悪くて解釈の違いが出たようですね(すみません)

Quote
ルートドキュメント(1)(ユーザーeditor1からは閲覧だけの編集不可)
  |
  HelloWorld(2)(ユーザーeditor1から閲覧、編集が出来る)

と、この様な状態を作りたいわけです。
ですがReplyさんの書いていただいた設定で

ルートドキュメント(1)    [ x ]All Document Groups (Public)
                                [    ] ContentsX

HelloWorld(2)           [    ] All Document Groups (Public)
                                [ x ]ContentsX

と設定し ユーザーeditor1でログインした場合
Quote
ルートドキュメント(1)(ユーザーeditor1から閲覧、編集が出来る)
  |
  HelloWorld(2)(ユーザーeditor1から閲覧、編集が出来る)
となってしまうわけです。
ま、第三のユーザーで入ればHelloWorld(2)はおっしゃる通り見えません

それではルートドキュメントをユーザーeditor1から隠す意味で
更にもう一つ同じような条件で
Document groups: ContentsX2
なるものを作り

ルートドキュメント(1)  [    ] All Document Groups (Public)
                                [    ] ContentsX
                                [ x ] ContentsX2

HelloWorld(2)           [    ] All Document Groups (Public)
                                [ x ] ContentsX
                                [    ] ContentsX2

と設定し ユーザーeditor1でログインした場合
フォルダは空ですと、シャドウ表示され

Quote
ルートドキュメント(1)(ユーザーeditor1から見れない)
  |
  HelloWorld(2)(ユーザーeditor1から見れない)(これは見たいんだけれど!!)

って事になる訳です
こんな書き方で私のやりたい事をご理解頂けますでしょうか?
« Last Edit: 15-Sep-2006, 12:38 PM by rb26dett1615 »

#6: 15-Sep-2006, 12:44 PM

custar
Posts: 224

私も modx 初心者。
スマートな解決方法を提案できていないのかもしれません。


ルートドキュメント(1) (ユーザーeditor1か見れない)

まず、これを実現しましょう。その時、ルート・ドキュメントの「Page data」は

Quote
Web access   : Private <-- ???
Manager access   : Private <-- ユーザー X の属するユーザーグループに対して

となるのでしょう。Web access はどうなるのかしら?


ルート・ドキュメントは最初 public だから、それを一部の人だけが見れるよ
うにするには、ルート・ドキュメント自体を何らかのドキュメント・グループ
に属させてはどうでしょう。

その後、ルート・ドキュメントの属するドキュメント・グループと、ユーザー
X が属するユーザー・グループとを関連付けてみる。

これで、ルート・ドキュメントを X だけが見れるようにならないかな?

#7: 15-Sep-2006, 02:23 PM

rb26dett1615
Posts: 6

まず、結果からお知らせすると
その状態では、ルートドキュメント(1)もユーザーeditor1で見れるが、編集も出来てしまいます!!

                                         -------------- ContentsX2 ----------- ルートドキュメント(1)
                                        |
                                        |
Editor --- editor1 --- Editors ---------- ContentsX ------------- HelloWorld(2)
権限           ユーザー      ユーザーグループ         ドキュメントグループ        ドキュメント

関連図を書くとこんな感じでしょうか?
私も何通りかやってはいるんですが・・・??
やっているうちに頭が混乱して・・・・・・
ズバリ、ドキュメントグループに権限設定が出来れば解決なんですが!!
出来ないようなので、どうすれば良いやら??

更に、、管理->MODx設定->ユーザ設定->ルートディレクトリの許可:(No)
(サイトのルートディレクトリにユーザがドキュメント/フォルダを作成できるようにしますか?)
に設定しているのに関わらず、ルートにドキュメントが作れてしまう
(※上部メニューからは作れないが、マウス右ボタンクリックのメニューからは作れる)

なんて状態です。

Quote
となるのでしょう。Web access はどうなるのかしら?
これに関してはこのCMSの出力(公開)するWebドキュメントを見せる人の制限が出来るようです。

#8: 15-Sep-2006, 03:21 PM

custar
Posts: 224

おはようございます。


新しく modx を入れて試してみました。

X が 1 つの管理画面で、複数の Role を持つことができませんね。
できないのかな?

現在持ち合わせている modx に関する知識ではできません。

Anybody Help Us!

#9: 16-Sep-2006, 04:05 AM

rb26dett1615
Posts: 6

どーもです!!

良い案がが出そうも無いので、勝手に自己完結させていただきます


             ---  editor2 --- Editors2 --------- ContentsX2 ------------ ルートドキュメント(1)
            |
            |                                                                     ----------------- HelloWorld(2)
            |                                                                    |
Editor ----- editor1 --- Editors ---------- ContentsX ------------- HelloWorld2(3)
権限               ユーザー      ユーザーグループ         ドキュメントグループ        ドキュメント


この設定にてユーザー "editor1" にてログインすると


  --- ルートドキュメント(1) (ユーザーeditor1からは見れない(当然ですが!))
 |                 |
 |                  --- HelloWorld(2) (このCMSの作りは、この設定だとルートドキュメントが壁となりこれも見れない)
 |
  --- HelloWorld2(3) (ルートドキュメントと同レベルに作れば、ユーザーeditor1から閲覧、編集が出来る)


よって結論は、ルートドキュメント(1)を隠して他に編集できるドキュメントを作りたければ
編集したいドキュメントの頭をルートドキュメント(1)と同レベルに並べろって事ですね!!!
勝手な意見ですが、この設定でドキュメントHelloWorld(2)も見れたほうが使いやすいと思うのですが??

もっと良い使い方(設定の仕方)をご存知の方は書き込みお願いします!!

#10: 17-Sep-2006, 01:42 PM


eastbind
Posts: 253

This ideograph means LOVE! I love MODx.

WWW
rb26dett1615さん。いらっしゃいませ Grin

いろいろお試しになってお分かりのとおり、現バージョンのMODxは任意のユーザに対してフォルダーと配下のドキュメントで別々の権限を与える事ができません。権限をユーザグループに対して設定する形式になれば可能になりますが、現在のところ副作用が色々あるようでその辺の整理が進むまで実装はされないでしょう。
逆にこうすればきれいに管理できるというようなコードを提示できれば一気に採用される事もあるんですけれどね。もしrb26dett1615さんがコードを提示できるようなら是非御提案ください。 Kiss

#11: 17-Sep-2006, 04:28 PM

rb26dett1615
Posts: 6

eastbind さんどーも始めまして

Quote
いろいろお試しになってお分かりのとおり、現バージョンのMODxは任意のユーザに対してフォルダーと配下のドキュメントで別々の権限を与える事ができません。権限をユーザグループに対して設定する形式になれば可能になりますが、現在のところ副作用が色々あるようでその辺の整理が進むまで実装はされないでしょう。
やはりそうなんですか!!
Administration Guideには出来るような事が書いて有りましたので、散々悩んでしまいました Undecided
現在のコードがそのような状態でしたらいたし方ありませんね。

Quote
逆にこうすればきれいに管理できるというようなコードを提示できれば一気に採用される事もあるんですけれどね。もしrb26dett1615さんがコードを提示できるようなら是非御提案ください。
スニペット程度なら書けそうですがそこまでコア部分になりますと・・・パワー的に  Cry、、、(PHPは嫌いじゃないですけどね!)

また何か有ったら質問させて頂きますので宜しくお願いします。
« Last Edit: 17-Sep-2006, 04:42 PM by rb26dett1615 »
Pages: [1]   Go Up
0 Members and 1 Guest are viewing this topic.