你必須創建自己的類來代替Openfire的DefaultAuthProvider.class
。
燦的樣子:
import org.jivesoftware.openfire.auth.AuthProvider
public class MyAuthProvider implements AuthProvider
,正確實現了所有的方法。
作爲替代,你可以延伸的DefaultAuthProvider
並覆蓋所有的方法
- 公共無效身份驗證(字符串用戶名,字符串密碼)拋出UnauthorizedException
- 公共無效身份驗證(字符串username,字符串令牌,字符串摘要)拋出未授權的異常
- getPassword(String)
- public boolean checkPassword(String username,String testPassword)throws UserNotFoundException
- public void setPassword(String username,String password)。
最後,讓你的類的罐子,在openfireDirectory/lib
部署,並與您MyAuthProvider全名更改的屬性
provider.auth.className
值。 你可以做到這一點
- 通過管理控制檯面板 - >服務器 - >系統屬性
- 或數據庫更新OfProperty表。
之後,您必須關閉並啓動Openfire。
但是爲此:1.我必須瞭解整個JDBCAuthProvider類,以便正確理解。 2. JDBCAuth中的用戶創建方法怎麼樣? –
這可能是另一種方式,更復雜。只需檢查Openfire的源代碼,解釋的時間真的很長,但在源代碼中有很多註釋和很多使用的屬性(jdbcAuthProvider.xyz) – MrPk