权限控制配置
在集成调用的产品应用方式下,还涉及到权限控制的需求,例如控制当前用户是否有权访问某一功能,或者有权查看某张报表。
在集成调用方式下,实现权限控制的方式有很多种。例如可以使用本产品本身提供的权限控制功能模块,或者由客户应用系统的权限模块进行权限控制,此外,还可以通过在用户的请求发出前进行权限的二次判断来进行控制。
下面介绍本产品在集成调用时所提供的权限控制接口,此部分的实现和配置在产品系统或集成的产品模块中进行。
集成调用入口提供了权限控制的接口,可以在调用请求发出前进行权限控制,如无权限,可实现对请求的拦截。权限控制配置可用于判断当前请求的用户是否有权限进行调用,以及控制可调用的资源等。
使用方法
具体配置和实现方式如下:
1、实现com.runqianapp.security.privilege.IPrivilege接口类
2、拷贝接口实现类至产品类路径下
3、在产品客户化模式配置文件(gezCustom/config/gezCustomPattern.xml )中设置模块化调用的统一权限控制接口。
<interfaces>
<interface id="privInterface" name="privInterface" class="com.runqianapp.security.privilege. MyPrivilege " />
</interfaces>
IPrivilege接口说明
接口名: com.runqianapp.security.privilege. IPrivilege
重要方法:
public boolean getPrivValue(HttpServletRequest request)
方法参数:request request对象
功能说明:返回是否有权限访问
返回值:布尔值
示例:
public class MyPrivilege implements IPrivilege {
public boolean getPrivValue(HttpServletRequest request) {
if(request.getSession().getAttribute("sys_UserID")!=null){
String username= request.getSession().getAttribute("sys_UserID").toString();
return !"1".equals(username);
}else return true;
}
}