質問

ここで問題です、

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 !!!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top