JAASは - のisUserInRoleは、Tomcatのすべての役割のためにfalseを返します
-
13-09-2019 - |
質問
ここで問題です、
JAASレルムは、データベースの罰金、ユーザー名とパスワードが一致に接続され、セッションが認証されます。しかし、役割はどれも、校長になっているように思いません。 TomcatのisInUserRoleは、すべての役割についてfalseを返すと、Tomcatのセキュリティはどちらかそれらを参照してくださいません。
ここでserver.xmlのレルム構成がある
<Realm className="org.apache.catalina.realm.JAASRealm"
appName="TomcatTimedLogin"
userClassName="com.tagish.auth.TypedPrincipal"
roleClassNames="org.ovasp.java.jaas.RolePrincipal" />
ここではlogin.configである
TomcatTimedLogin
{
org.owasp.java.jaas.TomcatTimedLogin required
useDS=true
dsJNDI="jdbc/resourceName"
dbDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
dbURL="jdbc:sqlserver://server\\DBSERVER;databaseName=DBName"
dbUser="username"
dbPassword="password"
debug=true
loginTable="loginTable"
clippingLevel="3"
interval="10"
loginQuery="SELECT UserID,Password FROM Users WHERE LogonUserName=? AND RetirementDate is null"
rolesQuery="SELECT Role.RoleDescription FROM User_Role,Role WHERE User_Role.UserID=? AND User_Role.RoleID=Role.RoleID";
};
そしてcatalina.propertiesに、私はこのような構成を参照してください。
java.security.auth.login.config=file:///C:/config/login.config
私は、デバッグ出力に次のメッセージを得るかのアプリケーションを起動するとわからない、なぜすべてのクラスは、サーバーからアクセス可能でなければなりませんよう。
SEVERE: Class org.ovasp.java.jaas.RolePrincipal not found! Class not added.
任意の助けいただければ幸いです。 Iすでにチュートリアルの後のポストとチュートリアルの後のポストを読んでいると、この問題を持っている人は、解決策が掲載されていない。
ところで、私はTomcatの5.5を使用しています、ではない私の選択、レガシーコード、あなたはそれがどのように知っています!私はまた、OWASPログインモジュール(OWASPJaasLoginModule.jar)を使用します。このjarファイルはサーバー/ libディレクトリにあります。
解決
わかりました...私はそれを自分で解決...再び、非常にSTUPID!これは私のコードだった場合、私は自分自身に怒っだろうが、そうではありませんが、このアプリで悪ふざけの4日後、私はうんざりに近いと思います。問題は、クラスではないということでした。
org.ovasp.java.jaas.RolePrincipal
その
org.owasp.java.jaas.RolePrincipal
STUPID !!!
所属していません StackOverflow