Class AuthTag

java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
org.iplass.mtp.web.template.tags.AuthTag
All Implemented Interfaces:
jakarta.servlet.jsp.tagext.IterationTag, jakarta.servlet.jsp.tagext.JspTag, jakarta.servlet.jsp.tagext.Tag, jakarta.servlet.jsp.tagext.TryCatchFinally, Serializable

public class AuthTag extends jakarta.servlet.jsp.tagext.TagSupport implements jakarta.servlet.jsp.tagext.TryCatchFinally

認可情報に従って制御を行うためのJSPタグです。 特定ロールの場合のみボディコンテンツを表示したり、ボディコンテンツの処理を特権実行するなどの制御が可能です。

JSPでの利用例を以下に示します。

 <%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
 <%@taglib prefix="m" uri="http://iplass.org/tags/mtp"%>
 
 :
 
 <!-- roleAまたはroleBの場合のみボディコンテンツを表示します -->
 <m:auth role="roleA,roleB">
   this content only show with role:"roleA" or "roleB".
   :
   :
 </m:auth>
 
 
 
 <!-- some/actionXアクションのAction権限を保持する場合ボディコンテンツを表示します -->
 <m:auth permission="<%=new ActionPermission(\"some/actionX\", new MapActionParameter().put(\"defName\",\"Hoge\"))%>">
   this content only show with action permission:"some/actionX?defName=Hoge".
   :
   :
 </m:auth>
 
 
 <!-- ボディコンテンツの処理を特権実行します -->
 <m:auth privileged="true">
   doPrivileged...
   
   <%
     //some privileged execution
     :
     :
   
   %>
   :
   :
 </m:auth>
 
 

指定可能な属性の説明

属性名Script可デフォルト値説明
role  ロール名指定します。
当該ロールを保持する場合、ボディコンテンツが出力されます。 複数のロール名をカンマ区切りで指定することが可能です。 複数指定された場合、いずれかのロールを保持する場合にボディコンテンツが出力されます。
permission  Permissionのインスタンスを指定します。 当該権限を保持する場合、ボディコンテンツが出力されます。
privilegedfalse trueが指定された場合、ボディコンテンツの出力処理を特権実行します。

See Also:
  • Constructor Details

    • AuthTag

      public AuthTag()
  • Method Details

    • getPrivileged

      public Boolean getPrivileged()
    • setPrivileged

      public void setPrivileged(Boolean privileged)
    • getRole

      public String getRole()
    • setRole

      public void setRole(String role)
    • getPermission

      public Permission getPermission()
    • setPermission

      public void setPermission(Permission permission)
    • doStartTag

      public int doStartTag() throws jakarta.servlet.jsp.JspException
      Specified by:
      doStartTag in interface jakarta.servlet.jsp.tagext.Tag
      Overrides:
      doStartTag in class jakarta.servlet.jsp.tagext.TagSupport
      Throws:
      jakarta.servlet.jsp.JspException
    • doCatch

      public void doCatch(Throwable t) throws Throwable
      Specified by:
      doCatch in interface jakarta.servlet.jsp.tagext.TryCatchFinally
      Throws:
      Throwable
    • doFinally

      public void doFinally()
      Specified by:
      doFinally in interface jakarta.servlet.jsp.tagext.TryCatchFinally