硬编码认证,便于调试

时间:2012-01-20 19:45:15

标签: java security debugging

使调试更容易我在我的应用程序中编写了严格的身份验证,例如:

User admin = new User("admin", "pw");
currentUser = admin;

我很懒,每次发布新版本时我都不想删除这些行,所以我创建了一个带有Debug-Flag的属性文件。当标志设置为“true”时,应用程序在调试模式下启动而不进行身份验证,否则将显示登录。

但是现在我很担心这个事实,它很容易获得管理员权限。 你会如何解决这个问题?

亲切的问候 stormsam

2 个答案:

答案 0 :(得分:3)

解决问题的方法是不要这样做!

这可能导致几个问题:

  • 太容易获得管理员权限,如您所述
  • 应用程序行为不正确或调试信息错误。您可以作为管理员进行测试和调试,但您的用户肯定不是管理员!
  • 这是另一个必须在周围进行规划,编码和测试的控制路径

更好的解决方案可能是在DEV系统上拥有通用的管理员登录名和密码。这样您就可以自动输入或将其编码到测试中。常规用户的常见登录也是一个好主意,因此您可以轻松地进行测试。

根据您正在进行的测试和调试类型,您是否可以编写自动化测试(可能使用JUnit和Selenium)来测试您的应用程序?您还可以在调试模式下针对应用程序实例运行测试。测试本身将处理普通的设置和登录步骤,以便您可以专注于需要调试的东西。

答案 1 :(得分:0)

然后把用户名和&属性文件里面的密码也是?