How do I deploy a LockOutProvider

Simple question: How do I build and deploy a LockOutProvider. I know I need to add “provider.lockout.className = my.lock.out.provider” to system properties but I am not sure where the code goes. Is it built as part of plugin or is there someplace to put a .class or .jar file?

Baackgorund:

I have a 3.6.4 OpenFIre server with LDAP integration. It is running as a service with a PHP based web front end. Accounts are greated through this front end and written to LDAP where OpenFire see them. I have written 8 plugins to provide various services and I am getting pretty handy with some of this.

I need to implement an account expiration feature. The expiration date is an attribute in LDAP. My first thought was to write a plugin that read from LDAP and use the LockOutManager. Seemed simple… but, I don’t know when and what has changed in LDAP so I would have to read every user and make the changes. This needs to happen as often as accounts need to expire.

My next thought is write a simple LockOutProvider that checks my expiration attribute in LDAP whenever getDisabledStatus() is called. Writing the code seems pretty straight forward but I am not sure how to build and deploy it if its not a plugin.

I was kind of expecting a method like setLockOutProvider() that I could call from a plugin but no such luck.

I also considered writing directly to the OfUserFlag table from the web front end but I have no ability to invalidate the cache from my PHP code.

Thanks

Ken