⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rdbmsgroup.java

📁 weblogic应用全实例
💻 JAVA
字号:
//声明本接口所在的包
package examples.security.rdbmsrealm;
//声明本类引入的其他类

import java.security.Principal;
import java.util.Hashtable;
import weblogic.security.acl.FlatGroup;


/**
 * 这个类代表数据库中的组
 */
public class RDBMSGroup
  extends FlatGroup
{
  private RDBMSRealm realm;

  //构造方法
  RDBMSGroup(String name, RDBMSRealm realm, Hashtable members)
  {
    super(name, realm, members);
    this.realm = realm;
  }

  //构造方法
  RDBMSGroup(String name, RDBMSRealm realm)
  {
    super(name, realm);
    this.realm = realm;
  }

  //获取用户类
  protected Class getUserClass()
  {
    return RDBMSUser.class;
  }

  //增加成员
  public boolean addMember(Principal principal)
  {
    if (!(principal instanceof RDBMSUser) && !(principal instanceof RDBMSGroup))
    {
      throw new SecurityException("attempt to add non-RDBMS principal");
    }
    
    if (this.equals(principal))
    {
      throw new SecurityException("adding group to self");
    }

    if (isMember(principal))
    {
      return false;
    }
    
    return realm.addGroupMember(this, principal) && addMemberInternal(principal);
  }

  //删除成员
  public boolean removeMember(Principal principal)
  {
    if (!(principal instanceof RDBMSUser) && !(principal instanceof RDBMSGroup))
    {
      throw new SecurityException("attempt to remove non-RDBMS principal");
    }
    
    if (this.equals(principal))
    {
      throw new SecurityException("removing group from self");
    }

    if (isMember(principal))
    {
      return false;
    }
    
    return realm.removeGroupMember(this, principal) &&
      removeMemberInternal(principal);
  }

  //获取所有成员
  Hashtable getMembers()
  {
    return members;
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -