隐藏特定用户的信息

时间:2018-05-21 16:29:01

标签: java spring

我使用Spring框架使用RESTFUL webservices。使用webservices返回的数据在用户界面上显示一些信息。有一个webservice,它从数据库中获取用户名和角色。对于特定用户,我希望所有的Web服务以####,####的形式显示数据,用于名字,姓氏; ##/##/####出生日期等等。由于我使用JDBC连接到数据库,这就是我在想的事情:

我应该考虑传递一个额外的参数(可能为所有其他用户发送值01; 0,为我要隐藏的用户发送1每个GET Web服务的信息),以便在从JDBC代码部分的数据库中获取数据时,我可以检查该标志是否设置为10基于此,我可以在JDBC代码中执行类似的操作:

// Code for a case when flag is set to `0`. Hence retrieving information from the database.

    while(rs.next()) {

                    EmployeeList    empList  = new EmployeeList();
                    empList.setEmpId(empId);
                    empList.setEmployeeName(rs.getString("name"));
                    employeeList.add(empList);

                }

// Code for a case when flag is set to `1`. Hence hiding information and not retrieving information from the database.

 while(rs.next()) {

                    EmployeeList    empList  = new EmployeeList();
                    empList.setEmpId(empId);
                    empList.setEmployeeName("####,######");
                    employeeList.add(empList);

                }

我想知道,如果这是实现我的任务的适当方式,还是有其他方法?

编辑:有关我的要求的更多说明:

我在UI中使用jqxWidget来显示我从JSON格式的RESTFUL Web服务获取的信息。例如,让我们考虑this example和屏幕截图,以便更好地了解我的要求:

enter image description here

1)假设我从JSON响应中获取了所有信息,我将在jQXWidget中填充,如上面的屏幕截图所示。

2)在上面的小部件中,我想隐藏说,例如,名字,姓氏和数量,如下所示:

First Name = XXXXX
Last Name  = XXXXX
Quantity   = ####

在我的应用程序中,如果用户单击特定行,则会显示一个新页面,其中包含一些其他信息。单击后,将调用新的Web服务集,这些Web服务将First NameLast NameQuantity作为输入参数。我担心的是,如果我以某种方式将First Name替换为XXXXX,将Last Name替换为XXXXX,将Quantity替换为####,则用户点击窗口小部件的任何一行,即下一组Web服务
将作为输入获得XXXX####,最终将失败。如果我的理解到目前为止不正确,请纠正我。 感谢

我使用的是Spring 4.2.5版本。

1 个答案:

答案 0 :(得分:0)

这取决于您想要实现的隐藏信息类型。通常,您不应手动执行此操作。

您可以使用基于角色的授权。确切的细节取决于您使用的Web服务框架。

对于spring MVC,你可以使用类似的东西:

Custom authorization in Spring MVC