📄 simplecertauthenticator.java
字号:
//声明本接口所在的包
package examples.security.cert;
//声明本类引入的其他类
import weblogic.security.Certificate;
import weblogic.security.Entity;
import weblogic.security.X500Name;
import weblogic.security.acl.CertAuthenticator;
import weblogic.security.acl.BasicRealm;
import weblogic.security.acl.Realm;
import weblogic.security.acl.User;
/**
* 认证authentication的实例,这个实例对照e-mail的地址。
*
*/
//实现认证authentication接口CertAuthenticator
public class SimpleCertAuthenticator
implements CertAuthenticator
{
//声明基本域
private BasicRealm realm;
//构造方法
public SimpleCertAuthenticator()
{
//获取基本域
realm = Realm.getRealm("weblogic");
}
/**
* 鉴定一个远程用户
*
* @参数 userName
* @参数 certs 用来映射e-mail地址和WebLogic用户
* @参数 ssl 如果真,这个方法总返回null
* @返回 Authenticated user, or null if authentication failed
*/
public User authenticate(String userName, Certificate[] certs, boolean ssl)
{
if (ssl == false)
{
return null;
}
User result = null;
Certificate cert = certs[0];
Entity holder = cert.getHolder();
// System.out.println("*** Holder of this cert is " + holder);
if (holder instanceof X500Name)
{
X500Name x500holder = (X500Name) holder;
String email = x500holder.getEmail();
if (email != null)
{
int at = email.indexOf("@");
if (at > 0)
{
String name = email.substring(0, at);
result = realm.getUser(name);
}
}
}
return result;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -