1

ZK で Web アプリケーションを開発しています。ログインしたユーザーの性質に基づいて、ページに特定のコンポーネントが表示されるかどうかが表示されるように、Spring Security 機能を実装しました。私はいたるところを見てきましたが、そのような例はないようです。そもそもそれが実現可能かどうか知っている人はいますか?

4

2 に答える 2

3

zk docs でサンプルを見つけることができますが、少し説明します。

多くの ZK タグは、おそらく私にはわかりませんが、if 属性を持つことができます。
これにより、定義された条件下でコンポーネントを表示することが可能になります。

これを zk セキュリティ タグ lib と組み合わせることができます。

<?taglib uri="http://www.zkoss.org/zkspring/security" prefix="sec"?>

したがって、定義されたプレフィックスを Spring-Role チェックに使用できます。

if="${sec:isAllGranted('ROLE_SUPERVISOR')}"

もちろん、これを可視属性にも使用できます。
しかし、セキュリティの観点から、これは一般的には良い考えではないと思います。

Spring アノテーションも使用できることに注意してください。

@PreAuthorize("checkWhatYouLike")
public void myEventHandler(Event ev){
   ...
}

そしてSecurityUtil、zks Spring パッケージのクラスを見てください。

于 2013-04-23T18:01:48.923 に答える
0

visible属性を使用して、ログインしているユーザーに応じてコンポーネントを非表示および表示できます。今はデモの例を作成する時間はあまりありませんが、ここでできることを提案できます。ページに 5 つのコンポーネントがある場合のように、ユーザー名を使用してすべてのコンポーネント ID を DB に入れることができます。

于 2013-04-23T13:44:37.210 に答える