雄猫找不到我的境界的依赖



我正在使用Netbeans和maven开发一个java Web应用程序。

我实现了自己的 Realm 扩展类 org.apache.catalina.realm.DataSourceRealm。

所以,我在上下文中有一个解析错误.xml由java.lang.ClassNotFoundException引起:com.company.authentication.MyRealm

我通过使用我的 Realm 构建 JAR 并放入 tomcat lib 文件夹来解决此问题。

有没有办法自动执行此操作?也就是说,让 Tomcat 在部署中识别我的 Realm,或者让 "Tomcat 类加载器"只使用 WAR 文件(或通过 maven)加载我的 Realm。

我的境界

public class MyRealm extends DataSourceRealm{
    @Override
    public Principal authenticate(String username, String credentials) {
        ...
        //Applying encryption
        credentials = MyEncrypt.encrypt(credentials);
        ... 
        return authenticate(dbConnection, username, credentials);
    }
}

我的上下文.xml文件

<Resource auth="Container" driverClassName="org.postgresql.Driver" maxActive="10" maxIdle="3" name="jdbc/my_db" password="123456" type="javax.sql.DataSource" url="jdbc:postgresql://localhost:5432/app_web_login" username="postgres" />    
<Realm className="com.company.authentication.MyRealm" dataSourceName="jdbc/my_db" roleNameCol="role_name" userCredCol="user_pass" userNameCol="user_name" userRoleTable="user_roles" userTable="users" localDataSource="true"/>

我的pom.xml文件的一部分

    <dependencies>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>6.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-catalina</artifactId>
            <version>7.0.42</version>
            <scope>provided</scope>
        </dependency>
        ...
    </dependencies>

目前,没有办法告诉 Tomcat 在 Web 应用程序中查找您的 Realm 实现。

相关内容

  • 没有找到相关文章

最新更新