xpages使用[NRIC]字段打开页面

xpages使用[NRIC]字段打开页面,xpages,xpages-ssjs,Xpages,Xpages Ssjs,问题在这里,我可以知道使用这种方式打开现有的文件是完全错误的,或者我遗漏了一些部分吗 因为目前无法打开现有文档 假设我已经有了NRIC 851013-13-5125的“文件” 下面是获取DocumentID的代码 var vw:notesView = database.getView("Request sort by nric used for docID"); var doc:NotesDocument = vw.getDocumentByKey(document1.getValue("N

问题在这里,我可以知道使用这种方式打开现有的文件是完全错误的,或者我遗漏了一些部分吗

因为目前无法打开现有文档

假设我已经有了NRIC 851013-13-5125的“文件”

下面是获取DocumentID的代码

var vw:notesView = database.getView("Request sort by nric used for docID");
var doc:NotesDocument = vw.getDocumentByKey(document1.getValue("NRIC"), true)
if (doc!=null){
    return doc.getItemValue("docID")
}
德斯蒙德

在一个巨大的安全漏洞旁边——只显示基于NRIC的数据(这几乎是公共数据,因为你在任何地方都使用它来注册会员卡、折扣卡等)

你应该改变一些事情:

  • 将输入框绑定到范围变量,而不是文档,因此使用
    viewScope.NRIC
  • 您不需要查找某个项目,而是使用
    doc.universalid
    ,或者最好将其作为视图中的一列,这样您就可以使用
    @DbLookup(…)
  • 更好的是:您可以简单地将URL重定向到open
    /yourdb.nsf/byNRIC/[S12345678X]
    中,它有一个按NRIC排序的视图
    byNRIC
    ,并且在表单属性中有要打开的XPage

话虽如此:请(!!!)实施适当的安全性。新加坡的立法对数据保护非常具体。您可能想在这里了解一下:

谢谢stwissel,我想我明白您的意思,实际上我是马来西亚人,几年前曾参加过您为IBM xpages举办的研讨会……实际上我正计划为Harvemous[任何人]创建一个系统用户请求电子邮件。如果他们已经申请了电子邮件,用户只需输入他的“NRIC”来检索他的申请表并检查他的申请状态!您仍然需要正确地确保这一点