目录

权限控制配置

在跨系统调用的产品应用方式下,还涉及到权限控制的需求,例如控制当前用户是否有权访问某一功能,或者有权查看某张报表。

在跨系统调用方式下,实现权限控制的方式有很多种。例如可以使用本产品本身提供的权限控制功能模块,或者由客户应用系统的权限模块进行权限控制,此外,还可以通过在用户的请求发出前进行权限的二次判断来进行控制。

下面介绍在跨系统调用时所提供的权限控制接口,此部分的实现和配置在客户系统(安全模块)中进行。

安全模块提供了权限控制的接口,可以在跨系统调用请求发出给安全模块后,由安全模块在转发请求前进行权限控制,如无权限,可实现对请求的拦截。权限控制配置可用于判断当前请求的用户是否有权限进行调用,以及控制可调用的资源等。

使用方法

具体配置和实现方式如下:

1、实现com.customer.interfaces.IPrivInterface接口

2、拷贝接口实现类至部署了安全模块的客户应用系统类路径下

3、在安全模块配置文件config.properties配置privilegeInterface来指定实现类路径

IPrivInterface接口说明

接口名:com.customer.interfaces.IPrivInterface

重要方法:

public boolean getPrivValue(HttpServletRequest request)

方法参数:request  request对象

功能说明:返回是否有权限访问

返回值:布尔值

示例:
public class CusPrivilege implements IPrivInterface {
    public boolean getPrivValue(HttpServletRequest request) {
        if(request.getSession().getAttribute("username")!=null) {
            String username=request.getSession().getAttribute("username").toString();
            return !"1".equals(username);                  
        }else return true;
    }
}