public interface AuthenticationProvider
JReport Server provides the ability to use customized user authentication scheme.
Interface AuthenticationProvider
provides ability to perform authentication
check in customer's external security system. It is the core interface in all interfaces
of JReport security API
Since version 7.1, customer can implement the interface
jet.server.api.custom.security.AuthenticationProvider
and import the customized class file by
modifying the following JReport Server's properties file:
<SERVER PATH>/bin/server.properties
or by specifying jvm -D parameter.
When using customized user authentication scheme, user should:
1. Write a class which implements the interface
jet.server.api.custom.AuthenticationProvider
.
2. Put the class into the CLASSPATH used by launching JReport Server
3. Edit the file <SERVER PATH>/bin/server.properties
, add a name/value pair, the name is
custom.security.AuthenticationProvider
, the value points to the customized class. or specify
customized class via -D paramter of jvm, the name is com.jinfonet.AuthenticationProvider
,
the value pointes to the customized class.
4. Restart JReport Server and the customized user authentication is working.
AuthorizationProvider
Modifier and Type | Method and Description |
---|---|
void |
addSecurityListener(SecurityListener listener)
Adds the specified security listener to receive security information changed event
from customer's external security system.
|
java.lang.String |
changePassword(java.lang.String realmName,
java.lang.String implUserName,
java.lang.String userName,
java.lang.String oldPwd,
java.lang.String newPwd)
Changes user password.
|
boolean |
isAdminUser(java.lang.String realmName,
java.lang.String userName)
Check if the user can access the administration tools.
|
boolean |
isEnableEdit()
Indicates whether customer's external security system will be modified by
invoking some methods in
AuthenticationProvider .In common cases, invoking changePassword() should take effect on
customer's external security system, and cause modification of external security
system, this method should return true in such cases. |
boolean |
isValidUser(java.lang.String realmName,
java.lang.String userName,
java.lang.String password)
Check if the user is a valid one.
|
boolean isValidUser(java.lang.String realmName, java.lang.String userName, java.lang.String password)
realmName
- the realm nameuserName
- the user namepassword
- the user passwordboolean isAdminUser(java.lang.String realmName, java.lang.String userName)
realmName
- the realm nameuserName
- the user namejava.lang.String changePassword(java.lang.String realmName, java.lang.String implUserName, java.lang.String userName, java.lang.String oldPwd, java.lang.String newPwd)
realmName
- the realm nameimplUserName
- the user name who invoked the actionuserName
- the user name whose password needs to be changedoldPwd
- the old passwordnewPwd
- the new passwordvoid addSecurityListener(SecurityListener listener)
listener
- the security listener, implemented by JReport Server.SecurityListener
boolean isEnableEdit()
AuthenticationProvider
.changePassword()
should take effect on
customer's external security system, and cause modification of external security
system, this method should return true
in such cases. If customer's external
security system will not be affected by invoking changePassword()
,
this method should return false
. isEditing()
with parameter
SecurityWebAdaptor.ACTION_CHANGE_PASSWORD
in jet.server.api.SecurityWebAdaptor
is the same as this method's returned value.true
if external security system will be affected by invoking
changePassword()
, otherwise return false
.SecurityWebAdaptor