0

以前は 1 種類のユーザー (クライアント ユーザー) しか持っていなかった Web アプリケーションがありますが、現在は作業を行っており、ロール管理者をアプリケーションに追加したため、ロールに基づいてメニューを表示する必要があります。ログに記録されたユーザーは限られた数のサブメニューを表示するユーザーですが、ログに記録されたユーザーが管理者の場合は、メニューの完全なオプションを表示します。アプリケーションのバックエンドは JSP で構築されています。これを行うためのベストプラクティスは何ですか?

4

1 に答える 1

0

現在ログインしているユーザーの役割に応じて、条件付きで表示するだけです。これにはJSTL <c:if>タグを使用できます。

たとえば、メニューが静的な場合は、現在ログインしているユーザーを表すセッション オブジェクトにブール値の getter メソッドを提供するだけです。

<c:if test="${user.admin}">
    Show admin menu items.
</c:if>

または、EL 2.2 がサポートされている場合は、役割ごとに別のものを必要としません。

<c:if test="${user.hasRole('ADMIN')}">
    Show admin menu items.
</c:if>

または、コンテナー管理認証を使用している場合:

<c:if test="${pageContext.request.isUserInRole('ADMIN')}">
    Show admin menu items.
</c:if>
于 2012-03-05T03:42:49.557 に答える