如何在特定的Web内容结构上设置页面会话,所以如果我分配任何具有此特定结构的页面,它将检查session
是否存在,如果不存在则会要求输入密码。
然后,用户应插入密码。
在页面结构中我还想添加下一步,完成和取消按钮,所以如果我完成或取消它将会破坏会话。 如果在此之后用户试图访问该页面,他将再次被要求输入密码。
我正在尝试使用网络内容模板*.VM
。
以下是我迄今为止所做的代码:
结构代码:
<?xml version="1.0"?>
<root>
<dynamic-element name="classified" type="list" index-type="" repeatable="false">
<dynamic-element name="Yes" type="1" index-type="" repeatable="false" />
<dynamic-element name="No" type="0" index-type="" repeatable="false"/>
</dynamic-element>
<dynamic-element name="content" type="text_area" index-type="" repeatable="false"/>
</root>
模板代码:
#if($classified.getData() == "1")
#if($request.parameters.get('password') == "1234")
<p>$content.getData()</p>
#else
<h2>This is the second authentication verification</h2>
<p>Please enter your second password</p>
#set ($url = $request.get('render-url'))
<form action="$url" name="auth" method="POST">
<label name="password">Password<span style="color:red">*</span></label>
<input type="password" name="password" />
<input type="submit" />
</form>
#if($request.parameters.get('password') != "1234")
<p>Please enter correct password</p>
#end
#end
#else
<h2>This is not a classified page</h2>
#end
我怎样才能使这个想法奏效。
答案 0 :(得分:0)
在我看来,更好的方法是编写一个 servlet 来检查用户会话,如果没有会话,将自动重定向到具有登录portlet的专用页面。验证用户真的不是Velocity脚本的任务......