ResultSet rs;
System.out.println("rs");
try
{
rs = j.getData("select ulevel from user where ulevel='"+eid+"'");
System.out.println("try");
//until this point it works properly. But after this point it doesn't work as I thought even though I logged in as a user whose user level (ulevel) is not admin.
if(rs.next())
{
System.out.println("rs.next");
if(rs.getString(2).equals("Admin"))
{
System.out.println("if admin");
home.setEnabled(true);
job.setEnabled(true);
employee.setEnabled(true);
user.setEnabled(true);
machine.setEnabled(true);
branch.setEnabled(true);
}
else if(rs.getString(2).equals("user"))
{
System.out.println("else if");
home.setEnabled(true);
machine.setEnabled(true);
System.out.println("user can't see");
}
else
{
System.out.println("else");
}
}
}
catch (Exception ex)
{
Logger.getLogger(Home_Page.class.getName()).log(Level.SEVERE, null, ex);
}
}
上記のコードから、ユーザーレベル (ulevel) が user である通常のユーザーが表示できるページ数を制限しようとしました。私は試した
jbutton_name.setvisible(false);
jbutton_name.setEnabled(false)
ただし、どちらも通常のユーザーがこれらのボタンを無効にするのには効果的ではありません。
誰か助けてくれませんか?前もって感謝します。
の 2rs.getString(2)
は結果列のインデックスです (最初の列は 1 から始まります)
ただし、クエリから 1 つの列しか取得していないため、
select ulevel from user
うまくいかないだろう
あたりとしてのjavadoc
SQLException - columnIndex が無効な場合。データベースアクセスエラーが発生した場合、またはクローズされた結果セットでこのメソッドが呼び出された場合
また、私はあなたが使用することを示唆しているPreparedStatementをし、setString
SQLインジェクション攻撃の可能性を回避するために、あなたのSQL生成のための連結を避けるために。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加