README
上传用户:xfwatch
上传日期:2020-12-14
资源大小:872k
文件大小:7k
源码类别:

中间件编程

开发平台:

Java

  1. JBoss, Home of Professional Open Source
  2. Copyright 2008, Red Hat, Inc., and others contributors as indicated
  3. by the @authors tag. All rights reserved.
  4. See the copyright.txt in the distribution for a
  5. full listing of individual contributors.
  6. This copyrighted material is made available to anyone wishing to use,
  7. modify, copy, or redistribute it subject to the terms and conditions
  8. of the GNU Lesser General Public License, v. 2.1.
  9. This program is distributed in the hope that it will be useful, but WITHOUT A
  10. WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  11. PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  12. You should have received a copy of the GNU Lesser General Public License,
  13. v.2.1 along with this distribution; if not, write to the Free Software
  14. Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  15. MA  02110-1301, USA.
  16. NOTE: You may like to create a backup of this folder before starting! NOTE: If you are using IPv6 you will need to change any references to localhost in the btconfig.xml files to be localhost4 or 127.0.0.1
  17. 1. INTRODUCTION
  18. This example shows how the services may be secured using the <security> element
  19. in the btconfig.xml
  20. NOTE: This example makes use of default users provided in JBoss 5.1.0.GA, "guest"
  21. and "dynsub". "guest" has the role "guest", and "dynsub" has the role "publisher"
  22. and "durpublisher".
  23. These users are provided out of the box for JBM 1.4 and were chosen as they have 
  24. non-overlapping roles so we can show how to excluded "guest" users from certain 
  25. queues.
  26. 2. SET ENVIRONMENT VARIABLES
  27. In order to run the example you need to make sure that you have set the environment
  28. appropriately. You will need to make sure that you edit the variables with values 
  29. starting with REPLACE_WITH_: 
  30. On Linux you need to edit:
  31. $BLACKTIE_HOME/setenv.sh
  32. On Windows:
  33. %BLACKTIE_HOME%setenv.bat
  34. Then, execute the script setenv
  35. On Windows: 
  36. You MUST use an environment configured with the VC++ development tools, e.g. launch:
  37. C:Program FilesMicrosoft Visual Studio 9.0VCvcvarsall.bat
  38. 3. CREATE THE SERVER
  39. On Linux:
  40. generate_server.sh -Dservice.names=SECURE -Dserver.includes=BarService.c
  41. On Windows:
  42. generate_server -Dservice.names=SECURE -Dserver.includes=BarService.c
  43. NOTE: If you get the following error you have not installed ant-contrib into your ANT distribution:
  44. BUILD FAILED
  45. /home/tom/blacktie/dist/blacktie-1.0-M4-SNAPSHOT/bin/generate-executables.xml:160: Problem: failed to create task or type propertycopy
  46. NOTE: If you get the following error you have not installed cpp-tasks into your ANT distribution:
  47. BUILD FAILED
  48. /home/tom/blacktie/dist/blacktie-1.0-M4-SNAPSHOT/bin/generate-executables.xml:113: The following error occurred while executing this line:
  49. /home/tom/blacktie/dist/blacktie-1.0-M4-SNAPSHOT/bin/generate-executables.xml:140: Problem: failed to create task or type cc
  50. NOTE: If you get the following error you have not edited or executed setenv correctly:
  51. java org.apache.tools.ant.launch.Launcher -f /bin/generate-executables.xml -Dconfiguration.type
  52. =debug -Dbasedir=. -Dtoolchain.compiler=msvc server -Dservice.names=BAR -Dserver.includes=BarService.c
  53. Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher
  54. Caused by: java.lang.ClassNotFoundException: org.apache.tools.ant.launch.Launcher
  55.         at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
  56.         at java.security.AccessController.doPrivileged(Native Method)
  57.         at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
  58.         at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
  59.         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
  60.         at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
  61.         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
  62. Could not find the main class: org.apache.tools.ant.launch.Launcher.  Program will exit.
  63. NOTE: On Windows - If you get the following error you have not used a command prompt with VC++ tools in it:
  64. BUILD FAILED
  65. C:blacktiedistblacktie-1.0-MR6-SNAPSHOTbingenerate-executables.xml:117: The following error occurred while executing this line:
  66. C:blacktiedistblacktie-1.0-MR6-SNAPSHOTbingenerate-executables.xml:144: Could not launch cl: java.io.IOException: Cannot run program "cl" (in directory "C:
  67. blacktiedistblacktie-1.0-MR6-SNAPSHOTexamplesxatmifooapptargetclasses"): CreateProcess error=2, The system cannot find the file specified
  68. 4. CREATE THE CLIENT
  69. On Linux:
  70. generate_client.sh -Dclient.includes=client.c
  71. On Windows:
  72. generate_client -Dclient.includes=client.c
  73. 5. DEPLOY THE STOMPCONNECTSERVICE
  74. Undeploy any older versions of the blacktie admin service
  75. Copy the file $BLACKTIE_HOME/blacktie-admin-services/blacktie-admin-services-<VERSION>-jar-with-dependencies.jar into $JBOSS_HOME/server/all/deploy Copy the file $BLACKTIE_HOME/blacktie-admin-services/btconfig.xml into $JBOSS_HOME/server/all/conf
  76. 6. RUN THE APPLICATION SERVER
  77. Make sure that the naming, messaging and transaction services are running, by running the JBoss server:
  78. <JBOSS_HOME>/bin/run.sh|bat -c all
  79. 7. RUN THE APPLICATIONS
  80. As the username/password is encoded in the btconfig.xml file, for this 
  81. example we have separated the configuration for the server and each of the
  82. clients. Therefore the BLACKTIE_CONFIGURATION_DIR environment variable 
  83. will need to be exported.
  84. NOTE: If you get the following error you have not sourced setenv.sh|bat
  85. ./<EXECUTABLE>: error while loading shared libraries: libTAO_CosNaming.so.1.6.7: cannot open shared object file: No such file or directoryI
  86. 7.1 RUN THE SERVER Edit the btconfig.xml to set REPLACE_WITH_INSTALL_LOCATION as appropriate Edit the btconfig.xml to set REPLACE_WITH_HOSTNAME as appropriate export BLACKTIE_CONFIGURATION_DIR=serv
  87. btadmin startup secure
  88. NOTE: If you get the following error you have not started the JBoss server:
  89. 2009-06-23 08:51:51,270 [0x7f627be63750] ERROR AtmiBrokerServer          - serverinit - Unexpected CORBA exception: TRANSIENT
  90. 2009-06-23 08:51:51,270 [0x7f627be63750] INFO  AtmiBrokerLogc            - main Unexpected exception in serverrun()
  91. 7.2 RUN THE CLIENT WITH INVALID CREDENTIALS
  92. export BLACKTIE_CONFIGURATION_DIR=guest
  93. ./client
  94. If you echo $? you will see the application returned an error
  95. 7.3 RUN THE CLIENT WITH VALID CREDENTIALS
  96. export BLACKTIE_CONFIGURATION_DIR=dynsub
  97. ./client
  98. If you echo $? you will see the application completed successfully 7.4 SHUTDOWN THE SERVER btadmin shutdown
  99. 8. CREATE A NEW USER AND RUN THE TEST AGAIN
  100. Duplicate the "dynsub" folder as "bt"
  101. Edit bt/btconfig.xml and change "dynsub" to "bt", with password "pwd"
  102. Edit serv/btconfig.xml and change "dynsub" to "bt", with password "pwd"
  103. Edit: "serv/btconfig.xml" and <JBOSS_HOME>/server/all/conf/btconfig.xml
  104. Change the roles with name "publisher" to "blacktie"
  105. Remove the "guest" role
  106. Open:  <JBOSS_HOME>/server/all/deploy/messaging/hsqldb-persistence-service.xml
  107. Add:
  108. POPULATE.TABLES.15  = INSERT INTO JBM_USER (USER_ID, PASSWD) VALUES ('bt', 'pwd')
  109. POPULATE.TABLES.16 = INSERT INTO JBM_ROLE (ROLE_ID, USER_ID) VALUES ('blacktie','bt')
  110. Edit: <JBOSS_HOME>/server/all/conf/btconfig.xml
  111. Change the user from "guest"/"guest" to "bt"/"pwd"
  112. Run step 7.1 above
  113. Run step 7.2 above
  114. Run step 7.3 above (this time the dynsub test will fail)
  115. export BLACKTIE_CONFIGURATION_DIR=bt
  116. ./client
  117. If you echo $? you will see the application completed successfully
  118. Run step 7.4 above