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

📄 secureclient.java

📁 一些的javaee5的实用代码
💻 JAVA
字号:
package ch30;

import java.rmi.RemoteException;
import java.util.Hashtable;
import java.util.Properties;
import javax.ejb.CreateException;
import javax.naming.*;
import javax.rmi.PortableRemoteObject;

public final class SecureClient 
{
  public void callMethods(String url,String username,String password)
  {
    Properties properties = new Properties();
    properties.put("java.naming.factory.initial", 
      "weblogic.jndi.WLInitialContextFactory");
    properties.put("java.naming.provider.url", url);
    if(username != null) 
    {
      properties.put("java.naming.security.principal", username);
      properties.put("java.naming.security.credentials", password);
    }
    Context ctx=null;
    Secure secure=null;
    try
    { 
       ctx=  new InitialContext(properties);
      //以上代码用于创建上下文

      Object obj = ctx.lookup("secureHome");  
      SecureHome securehome = (SecureHome) PortableRemoteObject.narrow(obj,SecureHome.class); 
      //以上代码用于查找home对象    
    
      secure = securehome.create(username);
      //以上代码用于创建ejb对象
    }catch(Exception e)
    {
        System.out.println(e.toString());
    }

    try {
      secure.noSecurityMethod();
      System.out.println( username + "可以访问noSecurityMethod");
    } catch(RemoteException re) {
        System.out.println( username + "不能访问noSecurityMethod");
        //System.out.println(re.toString());
    }

    try {

      secure.onlyAdministrators();
      System.out.println( username + "可以访问onlyAdministrators()");

    } catch(RemoteException re) {
        System.out.println( username + "不能访问onlyAdministrators()");
        //System.out.println(re.toString());
    }

    try {

      secure.onlyUser();
        System.out.println( username + "可以访问onlyUser()");
    } catch(RemoteException re) {
        System.out.println( username + "不能访问onlyUser()");
        //System.out.println(re.toString());
    }
    
  }

  public static void main(String args[])
  {
    String s = "t3://localhost:7001"; //所使用的协议
    SecureClient client=new SecureClient();

    System.out.println("zhangsan是管理员,访问的结果如下:");
    client.callMethods(s, "zhangsan","zhangsan");          //使用用户"zhangsan"访问

    System.out.println();

    System.out.println("lisi是普通用户,访问的结果如下:");
    client.callMethods(s, "lisi","lisilisi");          //使用用户"lisi"访问
  }

}

⌨️ 快捷键说明

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