我不知道我的权限检查是否正确,但我是这样做的。
public class User {
public boolean hasPermission (String permission){
// codes here to check from Roles.permissions if permission parameter exists
// return true if exists, otherwise return false
}
}
在我的JSP中,如果在会话中保存为“currentUser”的用户没有“save.settings”权限,我想隐藏一个按钮。
组织我的代码,我宣布了一个界面:
public interface Permission {
public static final String SAVE_SETTINGS = "save.settings";
}
这样我在检查权限时只会访问JSP中的静态变量。
现在我如何在JSP中执行此操作?我试过......
<s:if test="{#session.currentUser.hasPermission(@my.pkg.Permission@SAVE_SETTINGS)}">
<div>
<input id="iSave" type="button" value="Save" />
</div>
</s:if>
但它不起作用。
<constant name="struts.ognl.allowStaticMethodAccess" value="true"/>
也在我的struts.xml中设置
任何想法的人?
答案 0 :(得分:1)
使用
<s:if test="#session['currentUser'].hasPermission(@my.pkg.Permission@SAVE_SETTINGS)">
或
<s:if test="#session.currentUser.hasPermission(@my.pkg.Permission@SAVE_SETTINGS)">