2016-03-19 19 views
0

ログと権限のためにJDBCレルムを使用してJavaセキュリティを使用したいと思います。 私はGlassFishサーバー4.1を使用し、JDBCレルム、データソース、および接続プールに関連するすべての設定を行います。また、web.xmlとsun-webを設定します。私は、私は必要なすべての変更を行うと思いますGlassFish 4.1/Java EE 7でJDBCレルムでログイン

CREATE TABLE USERS (
    `USERID` VARCHAR(255) NOT NULL, 
    `PASSWORD` VARCHAR(255) NOT NULL, 
    PRIMARY KEY (`USERID`) 
); 

CREATE TABLE USERS_GROUPS (
    `GROUPID` VARCHAR(20) NOT NULL, 
    `USERID` VARCHAR(255) NOT NULL, 
    PRIMARY KEY (`GROUPID`) 
); 

が、私は、ログイン時に、毎回それはエラーページにログインする

マイ対応のJDBC Relamを行く:

は、私は2つのテーブルを作成

enter image description here

私が使用したshaアルゴリズム:

try { 
     MessageDigest md = MessageDigest.getInstance("SHA-256"); 
     String text = "admin"; 
     md.update(text.getBytes("UTF-8")); // Change this to "UTF-16" if needed 
     byte[] digest = md.digest(); 
     BigInteger bigInt = new BigInteger(1, digest); 
     String output = bigInt.toString(16); 

     System.out.println(output); 

    } catch (NoSuchAlgorithmException | UnsupportedEncodingException ex) { 
     Logger.getLogger(PasswordTest.class.getName()).log(Level.SEVERE, null, ex); 

    } 

答えて

2

USERSテーブルにはusernameという名前のフィールドはなく、GROUPSテーブルにはgroupnameというフィールドはありませんが、JDBCレルムの管理でそれらを参照します。または、useridとgroupidを参照するか、フィールド名をusernameとgroupnameに変更します。

関連する問題