我有一个音乐商店程序,有一个测试课程,一个Clerk课程(处理输入),一个Stocker课程(分配CD的可用性和价格),Storehouse(具有所有可用的CD),然后CD(有价格和名字)。我想添加一个选项让管理员通过输入安全代码添加CD。我想要做的是这样的:当秘书要求某人的订单(他们想要哪些CD)时,您可以输入字符串“密码”,这将允许您输入一个字符串,仓库将检查该字符串是否合格,那么经理就可以添加CD。为了让代码的一个粗略的想法:设计:在哪里可以放置经理选项?
public class CounterPerson(){
...
System.out.println("Hello. Indicate how many CDs you want");
System.out.println("You can also type password to add parts. ");
System.out.println("Here is what is available. ");
System.out.println(storeHouse);
String security = new String();
if(in.next().equals("password")){
System.out.println("Now type the password: ");
security = in.next();
StoreHouse.addCD(security);
}
else{
然后在仓库类:
public void addCD(String security){
if(checkSecure(security)){
System.out.println("You can add CDs now. Specify a name and quantity");
...
}
else{
System.out.println("You are not authorized.");
}
}
private boolean check(String security){
boolean secure = false;
if(security.equals("blahblah123"){ secure = true };
return secure;
}
我的问题:这是很好的(安全)的设计?如果不是,怎么样?
编辑:如果这是不明确的,Stockhouse由斯托克类也访问(这就是他得到的光盘从)
好吧,我可以做一个String s =“blahblah123”。但是安全检查的位置呢? – user977036
这并不能真正解决您的问题。作为一个经验法则,请确保您的程序中的密码不会以明文形式显示在任何地方。它应该在其他地方加密存储(如数据库等)。 – pcalcao
好的。但除此之外,密码检查方法在我的程序中的位置呢?编辑:假设每个人都有一个密码 – user977036