Oracle Portlet security实践

1: 基于oid组的权限认证
1.1 配置${portletName}.properties,添加如下配置
[code]
autoReload=true
oidManager=true
oidAdminClass=${OidAdminClass} extends oracle.portal.provider.v2.oid.OidInfo
oidHost=${oidhostName}
oidPort=${oidPortNumber} default is 389
oidUser=${oidadmin user name} default is orcladmin
oidPasswd=******
[/code]
1.2 ${OidAdminClass} 可以参考一下实现
[code]
import oracle.portal.provider.v2.ProviderContext;
import oracle.portal.provider.v2.oid.OidInfo;

public class ${OidAdminClass} extends OidInfo {

private final String OID_HOST_PROPERTY = "oidHost";
private final String OID_PORT_PROPERTY = "oidPort";
private final String OID_USER_PROPERTY = "oidUser";
private final String OID_PASSWD_PROPERTY = "oidPasswd";

public void init(ProviderContext pc)
{

// This class gets its data from the deployment config file
// deployments/oid.properties
//
// The data has already been extracted and is accessible via
// ProviderContext.

setLDAPHost( (String)pc.getAttribute(OID_HOST_PROPERTY) );
setLDAPPort( (String)pc.getAttribute(OID_PORT_PROPERTY) );
setLDAPUser( (String)"cn=" + pc.getAttribute(OID_USER_PROPERTY) );
setLDAPPasswd( (String)pc.getAttribute(OID_PASSWD_PROPERTY) );
}
}
[/code]
1.3 配置provider.xml
[code]
<securityManager class="oracle.portal.provider.v2.security.GroupSecurityManager">
<group>cn=${group1},cn=${portalID},cn=Groups,dc=cn,dc=oracle,dc=com</group>
<group>cn=${group2},cn=${portalID},,cn=Groups,dc=cn,dc=oracle,dc=com</group>
</securityManager>
[/code]
2: 自己实现portlet 认证
2.1:创建类${SecurityManager} extends oracle.portal.provider.v2.security.PortletSecurityManager
2.2: 实现方法public boolean hasAccess(ProviderInstance pi, PortletDefinition pd, ProviderUser user) 和 public boolean hasAccess(PortletReference ref, ProviderUser user) throws PortletNotFoundException
2.3:在这个方法里可以实现自己的业务逻辑来判断当前用户能否访问指定的provider.
2.4:这种方式比较灵活,可以所有的逻辑都自己控制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值