안녕하세요. user_id, passwd 및 user_priv (weblogic 사용자의 역할)가 포함 된 user_data라는 테이블이 있습니다. 내 데이터베이스 user_data를 weblogic 서버와 매핑해야합니다.weblogic 사용자를 생성하고 데이터베이스에서 weblogic 서버로 역할을 할당하십시오.
이 테이블이 포함 된 데이터 소스로 sqlAuthenticator를 사용하여 공급자를 만들려고했습니다.
결과를 얻기 위해 모든 쿼리가 수정되었습니다.
한다고 가정
사용자가 테이블에서 서버를 웹 로직에 도착 :<wls:sql-get-users-password>SELECT PASSWD FROM USER_DATA where user_id=?</wls:sql-get-users-password>
<wls:sql-user-exists>SELECT USER_ID FROM USER_DATA whre user_id=?</wls:sql-user-exists>
<wls:sql-list-users>SELECT USER_ID FROM USER_DATA whre user_id=?</wls:sql-list-users>
나는 성공적으로 다시 저장 응용 프로그램 서버를 다시 시작합니다.
서버를 다시 시작하기 전에. user_data 테이블에 데이터를 추가하여 테이블에서 가져 오는 날씨를 확인합니다.
데이터를 삽입하고 서버를 다시 시작했지만 weblogic 서버에서 데이터를 볼 수 없습니다.
하지만 weblogic 서버에서 데이터를 삭제하려고하면 user_data에서 데이터가 삭제되지만 반대의 경우는 작동하지 않습니다.
또 다른 방법은 readSqlAuthenticator를 만들어서 읽기 전용으로 만드는 것입니다. 위와 같이 언급 한 문장은 3 개뿐입니다.
그러나 그것은 응용 프로그램 서버를 시작하고 사용자 및 그룹을 클릭에
java.sql.SQLException: Invalid column index
at oracle.jdbc.driver.OraclePreparedStatement.setFormOfUseInternal(OraclePreparedStatement.java:16268)
at oracle.jdbc.driver.OraclePreparedStatement.setFormOfUseInternal(OraclePreparedStatement.java:16238)
at oracle.jdbc.driver.OraclePreparedStatement.setString(OraclePreparedStatement.java:7895)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.setString(OraclePreparedStatementWrapper.java:314)
at weblogic.jdbc.wrapper.PreparedStatement.setString(PreparedStatement.java:914)
Truncated. see log file for complete stacktrace
>
<24 Jan, 2017 1:48:03 PM IST> <Error> <Security> <BEA-000000> <[Security:090759]A SQLException occurred while retrieving password information
java.sql.SQLException: Invalid column index
at oracle.jdbc.driver.OraclePreparedStatement.setFormOfUseInternal(OraclePreparedStatement.java:16268)
at oracle.jdbc.driver.OraclePreparedStatement.setFormOfUseInternal(OraclePreparedStatement.java:16238)
at oracle.jdbc.driver.OraclePreparedStatement.setString(OraclePreparedStatement.java:7895)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.setString(OraclePreparedStatementWrapper.java:314)
at weblogic.jdbc.wrapper.PreparedStatement.setString(PreparedStatement.java:914)
Truncated. see log file for complete stacktrace
>
<24 Jan, 2017 1:48:03 PM IST> <Error> <Security> <BEA-000000> <[Security:090759]A SQLException occurred while retrieving password information
java.sql.SQLException: Invalid column index
at oracle.jdbc.driver.OraclePreparedStatement.setFormOfUseInternal(OraclePreparedStatement.java:16268)
at oracle.jdbc.driver.OraclePreparedStatement.setFormOfUseInternal(OraclePreparedStatement.java:16238)
at oracle.jdbc.driver.OraclePreparedStatement.setString(OraclePreparedStatement.java:7895)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.setString(OraclePreparedStatementWrapper.java:314)
at weblogic.jdbc.wrapper.PreparedStatement.setString(PreparedStatement.java:914)
Truncated. see log file for complete stacktrace
>
<24 Jan, 2017 1:48:03 PM IST> <Error> <Security> <BEA-000000> <[Security:090759]A SQLException occurred while retrieving password information
java.sql.SQLException: Invalid column index
at oracle.jdbc.driver.OraclePreparedStatement.setFormOfUseInternal(OraclePreparedStatement.java:16268)
at oracle.jdbc.driver.OraclePreparedStatement.setFormOfUseInternal(OraclePreparedStatement.java:16238)
at oracle.jdbc.driver.OraclePreparedStatement.setString(OraclePreparedStatement.java:7895)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.setString(OraclePreparedStatementWrapper.java:314)
at weblogic.jdbc.wrapper.PreparedStatement.setString(PreparedStatement.java:914)
Truncated. see log file for complete stacktrace
에 대한 예외가 발생합니다, 나는 예외이 들어
weblogic. security.providers.authentication.DBMSSQLAuthenticatorDelegateException: [Security:090279]Error listing users *
에 따라 얻을 것이다 나는 제거하는 등의 제안을 얻었 다음과 같은 필터 :
<wls:sql-get-users-password>SELECT PASSWD FROM USER_DATA</wls:sql-get-users-password>
<wls:sql-user-exists>SELECT USER_ID FROM USER_DATA</wls:sql-user-exists>
<wls:sql-list-users>SELECT USER_ID FROM USER_DATA</wls:sql-list-users>
그러나 이것도 작동하지 않았습니다. 모든 사용자 ID, 비밀번호 및 역할에 대해 데이터베이스를 weblogic 서버에 매핑 할 수있는 다른 방법이 있습니까?
제발 제안 해주세요.