Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
挂起/批准/拒绝Java工作流安全_Java_Web Applications - Fatal编程技术网

挂起/批准/拒绝Java工作流安全

挂起/批准/拒绝Java工作流安全,java,web-applications,Java,Web Applications,我已经为Java web应用程序实现了一个模块,用户需要请求该模块来访问安全数据。它的工作原理是这样的:当还没有访问权限的用户单击某个链接时,服务器端会发出并接收请求。它现在会生成一封电子邮件,并发送给“审批人”。该电子邮件包含有关批准或拒绝该用户访问的链接 已批准的链接:http://hostname/App_name?action=actionClass&approved=true 拒绝链接:http://hostname/App_name?action=actionClass&approv

我已经为Java web应用程序实现了一个模块,用户需要请求该模块来访问安全数据。它的工作原理是这样的:当还没有访问权限的用户单击某个链接时,服务器端会发出并接收请求。它现在会生成一封电子邮件,并发送给“审批人”。该电子邮件包含有关批准或拒绝该用户访问的链接

已批准的链接
http://hostname/App_name?action=actionClass&approved=true

拒绝链接
http://hostname/App_name?action=actionClass&approved=false

现在的问题是,有没有更好的方法同时考虑到安全性

我曾尝试寻找其他与此相关的帖子,但结果似乎并未涉及这方面。如果我遗漏了任何内容,请您也指出,以便我修改问题,我将不胜感激


提前感谢

我假设当用户单击给定链接时,您正在对其进行身份验证,否则这就是一种糟糕的魔力


您可以为该用户分配一些权限,并检查该权限,以查看是否允许批准。这取决于您发送电子邮件的方式。假设您是在客户端执行此操作,那么用户可以截取他们自己的审批链接,这显然是您不希望的


更好的方法(假设您还没有这样做)是将用户信息(当然是通过HTTPS)发送到您的服务器,然后让服务器生成并发送电子邮件。通过这种方式,除了服务器发送的邮件和服务器控制者(希望是您)之外,没有人可以访问批准链接。

Thihara,是的,这已经存在。用户在看到页面之前已经通过了身份验证,所以我想这就涵盖了它。在这种情况下,我看不出问题所在。即使任何人都可以伪造URL,他们也没有必要的特权,你会检查的对吗?对不起。我误解了你的回答。我想说的是,公司的所有员工在使用web应用程序时都经过身份验证,并且从应用程序中可以获得用户id、姓名等。在这种情况下,由于所有员工都可以访问该应用程序,这并不意味着他们可以访问我正在开发的特定应用程序,因此他们需要批准,从而返回到上面的问题。您需要为每个用户分配特权和角色。Matthew,感谢您的输入。该电子邮件已在服务器中生成。您所描述的实际上就是我们所拥有的,尽管我们不使用https,也不需要任何用户信息,因为我们有一个公司位置,可以从中获取所需的用户信息。您肯定不希望URL中出现类似
approved=false
的内容,因为有人会尝试的第一件事是手动将其更改为true,所以您至少必须不信任URL。被拒绝的链接会发生什么?为什么会有人点击它?蒂姆,这些链接是供超级用户使用的,但我担心你所说的URL就是这样。我愿意接受任何不必这样做的建议。