﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Asktalk-随笔分类-Middleware</title><link>http://www.blogjava.net/asktalk/category/7550.html</link><description>&lt;span class="STYLE3"&gt;天行健，君子以自强不息！&lt;/span&gt;</description><language>zh-cn</language><lastBuildDate>Fri, 21 Dec 2007 07:16:55 GMT</lastBuildDate><pubDate>Fri, 21 Dec 2007 07:16:55 GMT</pubDate><ttl>60</ttl><item><title>Glassfish中间件实践</title><link>http://www.blogjava.net/asktalk/archive/2007/03/25/106243.html</link><dc:creator>Asktalk</dc:creator><author>Asktalk</author><pubDate>Sun, 25 Mar 2007 08:48:00 GMT</pubDate><guid>http://www.blogjava.net/asktalk/archive/2007/03/25/106243.html</guid><wfw:comment>http://www.blogjava.net/asktalk/comments/106243.html</wfw:comment><comments>http://www.blogjava.net/asktalk/archive/2007/03/25/106243.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/asktalk/comments/commentRss/106243.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/asktalk/services/trackbacks/106243.html</trackback:ping><description><![CDATA[<p style="text-align: center"><span style="font-size: 12pt"></span>&nbsp;</p>
<p><strong>1, 下载 </strong></p>
<p>从<a href="https://glassfish.dev.java.net/downloads/v2-b33.html">https://glassfish.dev.java.net/downloads/v2-b33.html</a>选择下载版本,这里下载的是windows版. </p>
<p>Solaris SPARC Platform </p>
<p><a href="http://www.java.net/download/javaee5/promoted/SunOS/glassfish-installer-v2-b33.jar">glassfish-installer-v2-b33.jar</a>, size 70M </p>
<p>Solaris x86 Platform </p>
<p><a href="http://java.net/download/javaee5/promoted/SunOS_X86/glassfish-installer-v2-b33.jar">glassfish-installer-v2-b33-sunos_x86.jar</a> size 67M </p>
<p>Windows Platform </p>
<p><a href="http://java.net/download/javaee5/promoted/WINNT/glassfish-installer-v2-b33.jar">glassfish-installer-v2-b33-winnt.jar</a> size 63M </p>
<p>Linux Platform </p>
<p><a href="http://java.net/download/javaee5/promoted/Linux/glassfish-installer-v2-b33.jar">glassfish-installer-v2-b33-linux.jar</a> size 64M </p>
<p>MacOS Platform </p>
<p><a href="http://java.net/download/javaee5/promoted/Darwin/glassfish-installer-v2-b33.jar">glassfish-installer-v2-b33-darwin.jar</a> size 67M </p>
<p>&nbsp;</p>
<p>2,设置Java和Ant环境变量 </p>
<p>系统需要安装J2SE 5.0 <br />
</p>
<p>3,执行安装 </p>
<p>java -Xmx256m -jar glassfish-installer-v2-b33.jar </p>
<p>直接点击运行glassfish-installer-v2-b33.jar无法安装,必须在cmd命令环境下执行上述命令. </p>
<p>执行完毕后在glassfish-installer-v2-b33.jar的同级目录会出现一个glassfish文件夹,所有文件都已经解压到这个目录了,<span style="color: red">记着,只是解压还没有安装哪! </span></p>
<p>&nbsp;</p>
<p>下面cd glassfish ,切换到glassfish目录下,运行ant脚本setup.xml,执行真正的安装过程.<br />
运行 ant -f setup.xml </p>
<p></p>
<p>4,运行domain. </p>
<p>大家都用过IBM Websphere 和BEA Weblogic,domain相当于服务器的一个具体实例,所有配置参数都在这里面.在步骤3中已经为我们生成了一个domain,在glassfish\domains\domain1目录中. </p>
<p>切换到cd glassfish/bin目录下 </p>
<p>执行asadmin start -domain domain1 ,运行domain1.结果如下 </p>
<p>&nbsp;</p>
<p>5,浏览控制台 </p>
<p>打开浏览器，输入 <a href="http://192.168.1.3:8080/">http://192.168.1.3:8080/</a> 看到如下图: </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>控制台首页: http://192.168.1.3:4848/ <br />
user name: admin <br />
password: adminadmin </p>
<p>控制台首页如下: </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/asktalk/aggbug/106243.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/asktalk/" target="_blank">Asktalk</a> 2007-03-25 16:48 <a href="http://www.blogjava.net/asktalk/archive/2007/03/25/106243.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>J2EE安全策略：为tomcat页面设置访问权限（j_security_check）</title><link>http://www.blogjava.net/asktalk/archive/2005/07/23/8221.html</link><dc:creator>Asktalk</dc:creator><author>Asktalk</author><pubDate>Fri, 22 Jul 2005 20:12:00 GMT</pubDate><guid>http://www.blogjava.net/asktalk/archive/2005/07/23/8221.html</guid><wfw:comment>http://www.blogjava.net/asktalk/comments/8221.html</wfw:comment><comments>http://www.blogjava.net/asktalk/archive/2005/07/23/8221.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.blogjava.net/asktalk/comments/commentRss/8221.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/asktalk/services/trackbacks/8221.html</trackback:ping><description><![CDATA[<P class=MsoNormal style="MARGIN: 0cm 0cm 9pt; WORD-BREAK: break-all; LINE-HEIGHT: 150%; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><FONT face=Arial><B><SPAN style="COLOR: #05006c; LINE-HEIGHT: 150%; FONT-FAMILY: 新宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial">为<SPAN lang=EN-US>tomcat</SPAN>页面设置访问权限<BR></SPAN></B><SPAN lang=EN-US style="LINE-HEIGHT: 150%; FONT-FAMILY: 新宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial; mso-font-kerning: 0pt"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 9pt; WORD-BREAK: break-all; LINE-HEIGHT: 150%; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="LINE-HEIGHT: 150%; FONT-FAMILY: 新宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial; mso-font-kerning: 0pt"><FONT face=Arial>CSDN网址：</FONT><A href="http://blog.csdn.net/fasttalk"><FONT face=Arial>http://blog.csdn.net/fasttalk</FONT></A><BR><FONT face=Arial>刚从CSDN搬到这里，先发表一篇！<BR>在<SPAN lang=EN-US>web</SPAN>应用中，对页面的访问控制通常通过程序来控制，流程为：</FONT><SPAN lang=EN-US><BR></SPAN><FONT face=Arial>登录<SPAN lang=EN-US> -&gt; </SPAN>设置<SPAN lang=EN-US>session -&gt; </SPAN>访问受限页面时检查<SPAN lang=EN-US>session</SPAN>是否存在，如果不存在，禁止访问<SPAN lang=EN-US> <o:p></o:p></SPAN></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 9pt; WORD-BREAK: break-all; LINE-HEIGHT: 150%; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="LINE-HEIGHT: 150%; FONT-FAMILY: 新宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial; mso-font-kerning: 0pt"><FONT face=Arial>对于较小型的<SPAN lang=EN-US>web</SPAN>应用，可以通过<SPAN lang=EN-US>tomcat</SPAN>内置的访问控制机制来实现权限控制。采用这种机制的好处是，程序中无需进行权限控制，完全通过对<SPAN lang=EN-US>tomcat</SPAN>的配置即可完成访问控制。<SPAN lang=EN-US> <o:p></o:p></SPAN></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 9pt; WORD-BREAK: break-all; LINE-HEIGHT: 150%; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="LINE-HEIGHT: 150%; FONT-FAMILY: 新宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial; mso-font-kerning: 0pt"><FONT face=Arial>为了在<SPAN lang=EN-US>tomcat</SPAN>页面设置访问权限控制，在项目的<SPAN lang=EN-US>WEB-INFO/web.xml</SPAN>文件中，进行如下设置：<SPAN lang=EN-US> <o:p></o:p></SPAN></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-FAMILY: 新宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial; mso-font-kerning: 0pt"><TEXTAREA style="WIDTH: 669px; HEIGHT: 358px" rows=22 cols=79>&lt;web-app&gt;

&lt;!--servlet等其他配置--&gt;

&lt;security-constraint&gt;
  &lt;web-resource-collection&gt;
      &lt;display-name&gt;Example Security Constraint&lt;/display-name&gt;
      &lt;web-resource-name&gt;My Test&lt;/web-resource-name&gt;
   
      &lt;url-pattern&gt;/ddly/admin/*&lt;/url-pattern&gt;
  &lt;/web-resource-collection&gt;
  
&lt;auth-constraint&gt;
    &lt;role-name&gt;role1&lt;/role-name&gt;
    &lt;role-name&gt;tomcat&lt;/role-name&gt;
&lt;/auth-constraint&gt;

&lt;/security-constraint&gt;

&lt;login-config&gt;
    &lt;auth-method&gt;BASIC&lt;/auth-method&gt;
    &lt;realm-name&gt;My Test&lt;/realm-name&gt;
&lt;/login-config&gt;

&lt;/web-app&gt;
</TEXTAREA><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 9pt; WORD-BREAK: break-all; LINE-HEIGHT: 150%; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="LINE-HEIGHT: 150%; FONT-FAMILY: 新宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial; mso-font-kerning: 0pt"><FONT face=Arial>其中，<SPAN lang=EN-US>&lt;url-pattern&gt;</SPAN>中指定受限的<SPAN lang=EN-US>url</SPAN>，可以使用通配符<SPAN lang=EN-US>*</SPAN>，通常对整个目录进行访问权限控制。</FONT><SPAN lang=EN-US><BR><FONT face=Arial>&lt;auth-constraint&gt;</FONT></SPAN><FONT face=Arial>中指定哪些角色可以访问<SPAN lang=EN-US>&lt;url-pattern&gt;</SPAN>指定的<SPAN lang=EN-US>url</SPAN>，在<SPAN lang=EN-US>&lt;role-name&gt;</SPAN>中可以设置一个或多个角色名。<SPAN lang=EN-US> <o:p></o:p></SPAN></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 9pt; WORD-BREAK: break-all; LINE-HEIGHT: 150%; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="LINE-HEIGHT: 150%; FONT-FAMILY: 新宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial; mso-font-kerning: 0pt"><FONT face=Arial>使用的角色名来自<SPAN lang=EN-US>tomcat</SPAN>的配置文件<SPAN lang=EN-US>${CATALINA_HOME}/conf/tomcat-users.xml</SPAN>。<SPAN lang=EN-US> <o:p></o:p></SPAN></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 9pt; WORD-BREAK: break-all; LINE-HEIGHT: 150%; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><FONT face=Arial><SPAN lang=EN-US style="LINE-HEIGHT: 150%; FONT-FAMILY: 新宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial; mso-font-kerning: 0pt">&lt;login-config&gt;</SPAN><SPAN style="LINE-HEIGHT: 150%; FONT-FAMILY: 新宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial; mso-font-kerning: 0pt">中设置登录方式，<SPAN lang=EN-US>&lt;auth-method&gt;</SPAN>的取值为<SPAN lang=EN-US>BASIC</SPAN>或<SPAN lang=EN-US>FORM</SPAN>。如果为<SPAN lang=EN-US>BASIC</SPAN>，浏览器在需要登录时弹出一个登录窗口。如果为<SPAN lang=EN-US>FORM</SPAN>方式，需要指定登录页面和登录失败时的提示信息显示页面。<SPAN lang=EN-US> <o:p></o:p></SPAN></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 9pt; WORD-BREAK: break-all; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="FONT-FAMILY: 新宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial; mso-font-kerning: 0pt"><FONT face=Arial>使用<SPAN lang=EN-US>FORM</SPAN>方式的配置样例如下：<SPAN lang=EN-US><o:p></o:p></SPAN></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; WORD-BREAK: break-all; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN lang=EN-US style="FONT-FAMILY: 新宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial; mso-font-kerning: 0pt"><TEXTAREA style="WIDTH: 667px; HEIGHT: 134px" rows=8 cols=79>&lt;login-config&gt;
   &lt;auth-method&gt;FORM&lt;/auth-method&gt;
   &lt;realm-name&gt;Example Form-Based Authentication Area&lt;/realm-name&gt;
   &lt;form-login-config&gt;
      &lt;form-login-page&gt;/login.jsp&lt;/form-login-page&gt;
      &lt;form-error-page&gt;/error.jsp&lt;/form-error-page&gt;
   &lt;/form-login-config&gt;
&lt;/login-config&gt;
</TEXTAREA><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 9pt; WORD-BREAK: break-all; LINE-HEIGHT: 150%; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><SPAN style="LINE-HEIGHT: 150%; FONT-FAMILY: 新宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial; mso-font-kerning: 0pt"><FONT face=Arial>其中的<SPAN lang=EN-US>&lt;form-login-page&gt;</SPAN>指定登录页面<SPAN lang=EN-US>url</SPAN>，<SPAN lang=EN-US>&lt;form-error-page&gt;</SPAN>指定登录失败时的提示页面<SPAN lang=EN-US>url</SPAN>。</FONT><SPAN lang=EN-US><BR></SPAN><FONT face=Arial>登录页面中，<SPAN lang=EN-US>form</SPAN>的<SPAN lang=EN-US>action</SPAN>，以及其中的用户名和密码两个参数的名称，都应取固定的值。登录的后台处理程序为<SPAN lang=EN-US>j_security_check</SPAN>；用户名和密码的参数名称分别为：<SPAN lang=EN-US>j_username</SPAN>和<SPAN lang=EN-US>j_password</SPAN>。</FONT><SPAN lang=EN-US><BR></SPAN><FONT face=Arial>如下是登录页面（如：<SPAN lang=EN-US>login.jsp</SPAN>）的一段示例代码：<SPAN lang=EN-US> <o:p></o:p></SPAN></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="FONT-FAMILY: 新宋体; mso-bidi-font-size: 10.5pt; mso-bidi-font-family: Arial; mso-font-kerning: 0pt"><TEXTAREA style="WIDTH: 668px; HEIGHT: 294px" rows=18 cols=79>&lt;form method="POST" action='&lt;%= response.encodeURL("j_security_check") %&gt;' &gt;
  &lt;table border="0" cellspacing="5"&gt;
    &lt;tr&gt;
      &lt;th align="right"&gt;Username:&lt;/th&gt;
      &lt;td align="left"&gt;&lt;input type="text" name="j_username"&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;th align="right"&gt;Password:&lt;/th&gt;
      &lt;td align="left"&gt;&lt;input type="password" name="j_password"&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td align="right"&gt;&lt;input type="submit" value="Log In"&gt;&lt;/td&gt;
      &lt;td align="left"&gt;&lt;input type="reset"&gt;&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;
&lt;/form&gt;
</TEXTAREA></SPAN><SPAN lang=EN-US style="FONT-FAMILY: 新宋体; mso-bidi-font-size: 10.5pt"><o:p></o:p></SPAN></P>
<P><FONT face=Arial></FONT>&nbsp;</P> <img src ="http://www.blogjava.net/asktalk/aggbug/8221.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/asktalk/" target="_blank">Asktalk</a> 2005-07-23 04:12 <a href="http://www.blogjava.net/asktalk/archive/2005/07/23/8221.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>