Package org.iplass.mtp.web.template.tags
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 のインスタンスを指定します。
当該権限を保持する場合、ボディコンテンツが出力されます。
|
|
privileged | ○ | false | trueが指定された場合、ボディコンテンツの出力処理を特権実行します。 |
- See Also:
-
Field Summary
Fields inherited from class jakarta.servlet.jsp.tagext.TagSupport
id, pageContext
Fields inherited from interface jakarta.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAIN
Fields inherited from interface jakarta.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
int
getRole()
void
setPermission
(Permission permission) void
setPrivileged
(Boolean privileged) void
Methods inherited from class jakarta.servlet.jsp.tagext.TagSupport
doAfterBody, doEndTag, findAncestorWithClass, getId, getParent, getValue, getValues, release, removeValue, setId, setPageContext, setParent, setValue
-
Constructor Details
-
AuthTag
public AuthTag()
-
-
Method Details
-
getPrivileged
-
setPrivileged
-
getRole
-
setRole
-
getPermission
-
setPermission
-
doStartTag
public int doStartTag() throws jakarta.servlet.jsp.JspException- Specified by:
doStartTag
in interfacejakarta.servlet.jsp.tagext.Tag
- Overrides:
doStartTag
in classjakarta.servlet.jsp.tagext.TagSupport
- Throws:
jakarta.servlet.jsp.JspException
-
doCatch
- Specified by:
doCatch
in interfacejakarta.servlet.jsp.tagext.TryCatchFinally
- Throws:
Throwable
-
doFinally
public void doFinally()- Specified by:
doFinally
in interfacejakarta.servlet.jsp.tagext.TryCatchFinally
-