1

我正在构建一个 java web 应用程序,当经理批准他们的请求时,它将自动授予用户对其 Windows PC 的管理权限。

为了实现这一点,我将编写一个脚本来自动远程进入用户计算机并将他们添加到计算机的管理组中。我想为了做到这一点,我需要有一个管理服务帐户才能访问所有计算机。

我的问题是,我怎样才能安全地存储管理服务帐户信息?该应用程序在每次需要授予用户管理员权限时都需要凭据,那么我怎样才能让应用程序在没有人工交互的情况下使用服务帐户呢?显然,我不能只将管理员凭据放在纯文本属性文件中。凭据不应向任何开发人员开放,以查看谁可能会在以后更改应用程序。

有没有更好的方法来做到这一点?有人曾经向我提到过可能在 Active Directory 中有一个帐户可以模拟,但我无法跟进了解更多详细信息。

4

1 回答 1

0

有一种保护服务帐户密码的方法(偶尔用于使用数据库的服务)是基于控制反转的概念。

在这里,服务可以调用一个具有匿名访问权限的存储过程,该过程会提示数据库生成、设置密码并将密码发送给它知道其地址的服务,通过单独的调用。

虽然匿名调用通常是 IP 限制以防止 DoS 攻击,但其他进程是否调用它并不重要,因为存储过程只会将密码发送给服务,而不管是谁调用它。

于 2019-03-12T00:50:09.647 回答