??xml version="1.0" encoding="utf-8" standalone="yes"?>日韩电影在线看,久蕉在线视频,992tv在线http://www.aygfsteel.com/koradji/category/47226.htmlzh-cnTue, 14 Dec 2010 13:53:52 GMTTue, 14 Dec 2010 13:53:52 GMT60Tomcat6安全理中的几个标签http://www.aygfsteel.com/koradji/articles/340643.htmlkoradjikoradjiTue, 14 Dec 2010 06:48:00 GMThttp://www.aygfsteel.com/koradji/articles/340643.htmlhttp://www.aygfsteel.com/koradji/comments/340643.htmlhttp://www.aygfsteel.com/koradji/articles/340643.html#Feedback0http://www.aygfsteel.com/koradji/comments/commentRss/340643.htmlhttp://www.aygfsteel.com/koradji/services/trackbacks/340643.html <security-constraint>
- 用来指定受保护的web资源以及对其可以讉K的角艌Ӏ?br />
 子元?/strong>  描述
 <web-resource-collection>  声明受保护的web资源
 <web-resource-name>  指定受保护资源的名字Q是<web-resource-collection>的子元素
 <url-pattern>  受保护的URL路径Q是<web-resource-collection>的子元素
 <http-method>  指定受保护的HTTP讉KҎQ包括DELETE,GET,POST和PUTQ,如果不定义,表示所有的Ҏ都受保护Q是<web-resource-collection>的子元素
 <auth-constraint>  指定受保护资源安全限?/td>
 <role-name>  指定可以讉K受保护资源的角色名,?lt;auth-constraint>的子元素

<login-config>
- 用来指定客户在访问受保护的web资源Ӟpȝ对客戯行验证的cd?br />
 子元?/strong>  描述
 <auth-method>  pȝ对客户验证的cdQ有BASIC,DIGEST,FORM3U?/td>
 <realm-name>  讑֮使用的Realm名称
 <form-login-config>  使用FORM验证时的配置信息
 <form-login-page>  使用FORM验证时的d面Q是<form-login-config>的子元素
 <form-error-page>  使用FORM验证时的错误处理面Q是<form-login-config>的子元素

<security-role>
- 用来声明web应用的角色名U?br />
 子元?/strong>  描述
 <description>  对当前的<security-role>元素q行描述
 <role-name>  引用的角色名U?/td>




koradji 2010-12-14 14:48 发表评论
]]>
Tomcat6实现SSIhttp://www.aygfsteel.com/koradji/articles/340552.htmlkoradjikoradjiMon, 13 Dec 2010 13:52:00 GMThttp://www.aygfsteel.com/koradji/articles/340552.htmlhttp://www.aygfsteel.com/koradji/comments/340552.htmlhttp://www.aygfsteel.com/koradji/articles/340552.html#Feedback0http://www.aygfsteel.com/koradji/comments/commentRss/340552.htmlhttp://www.aygfsteel.com/koradji/services/trackbacks/340552.html 在默认状态下Qtomcat不支持SSI。要让它支持Q需做如下配|:
打开tomcat安装目录下的conf/web.xmlQ?br /> 1.扑ֈSSI servlet部分Q将注释LQ?br /> 2.扑ֈSSI servlet-mapping部分Q将注释LQ?br /> 一U替换方法是Q可以将SSI的filter部分的注释去掉,但是不能两者都L注释Q?br />
启动tomcatQ这时可能会报如下错Q?br />
java.lang.SecurityException: Servlet of class org.apache.catalina.ssi.SSIServlet is privileged and 
cannot be loaded by
this web application
解决Ҏ是:
打开tomcat安装目录下的conf/context.xmlQ将<context>改ؓ<Context privileged="true">?br />
然后Q再启动tomcatQ就正常了?br /> 至于中文q的问题,我这里测试下来,好像在web.xml里的servlet下不用增加inputEncoding和outputEncoding参数也没问题?br />


koradji 2010-12-13 21:52 发表评论
]]>
【{帖】用Tomcat实现SSOhttp://www.aygfsteel.com/koradji/articles/339598.htmlkoradjikoradjiThu, 02 Dec 2010 05:06:00 GMThttp://www.aygfsteel.com/koradji/articles/339598.htmlhttp://www.aygfsteel.com/koradji/comments/339598.htmlhttp://www.aygfsteel.com/koradji/articles/339598.html#Feedback0http://www.aygfsteel.com/koradji/comments/commentRss/339598.htmlhttp://www.aygfsteel.com/koradji/services/trackbacks/339598.htmlhttp://tech.ddvip.com/2009-05/1242796946120038.html

目标:用户Login一ơ之?可以讉K同一Server上的不同Webapp, 具体实现上采用Tomcat的Single Sign-On实现. 主要分ؓ下面几个步骤:

修改Tomcat conf/server.xmlQ打开SSO支持

  <Host> 节点下增加一个Valve节点
    <Valve className="org.apache.catalina.authenticator.SingleSignOn"
           debug="0" requireReauthentication="false"/>
  </Host>

container认证realmQ?user、role、server.xml?lt;Realm...>讄

tomcat的认证机制有2个要素: user ?role.
user 是区别一个个用户的唯一识别了?br /> role 是一些抽象的权限U别Q比?#8220;admin”?#8220;manager”?#8220;member”?#8220;guest”{等Q都是可以自己定义的.一个user可以拥有多种role.

“可是tomcat怎么L到我的user/role信息呢?我的q些数据都在数据库里阿?”
可以在tomcat的server.xml里用 <Realm> tag来读取这些信息,q且tomcat提供??U现成的Realm实现Q其中有从文仉ȝQ有从JDBCȝQ有从DataSourceȝQ也有从LDAPȝ。具体Realm的写法,和提供的几种Realm的配|方法,可以参考tomcat自己的文档,在此不作l述?(把tomcat自带的webapp: tomcat-docs.war 展开Q看里面?config/realm.html) 如果q这些现成的配置都不能满你的要求的话,那也可以考虑自己写一个Realm的实现类来满_体要求?br /> 下面举一个JDBC的Realm的配|例子看一下:

  <Realm  className="org.apache.catalina.realm.JDBCRealm"  debug="99"
           driverName="your.jdbc.driver.here"
           connectionURL="your.jdbc.url.here"
           connectionName="test"
           connectionPassword="test"
           userTable="users"
           userNameCol="user_name"
           userCredCol="user_pass"
           userRoleTable="user_roles"
           roleNameCol="role_name" />

webapp使用SSO

告诉tomcatq个webapp要通过container的认证?br /> 具体做法Q?在web.xml里面加上如下的配|:

    <security-constraint>
      <web-resource-collection>
        <web-resource-name>http://www.bt285.cn  BT下蝲 </web-resource-name>
        <url-pattern>/*</url-pattern>
      </web-resource-collection>
      <auth-constraint>
        <!-- role name 指定哪个role可以讉K,可以为多个roleQ如两个|站Qhttp://www.5a520.cn http://www.feng123.com  -->
        <role-name>intrauser</role-name>
      </auth-constraint>
    </security-constraint>

选择一U认证方?br /> 在web.xml里面加上如下的配|:

    <login-config>
      <auth-method>BASIC</auth-method>
      <realm-name>Intra Web Application</realm-name>
    </login-config>
    <security-role>
      <description>The role that is required to access intrasites</description>
      <role-name>intrauser</role-name>
    </security-role>

q里?个要点:
auth-method

举例Z单用了最基本的一UBASIC。若使用BASIC方式Q当你去讉K受保护认证的资源Ӟ览器会弹出一个小H口让你输入用户名和密码。(像我们讉KiofficeӞW一ơ弹出来的那个认证窗口)其他q有几种认证方式如:FORM、DIGEST、CLIENT-CERT。其中FORM是可以自己写login画面的,当然html的form内容有些规定Q要W合j2ee和container的要求嘛Q?DIGEST是一U加密的传输Q而CLIENT-CERT没有查过Q有兴趣可以L一下?br />
realm-name

q个realm-name是这个webapp的认证realm名,注意几个处于同一SSO下的webappQ他们的realm-name要设成一L倹{?如果不设成一P那么换一个webappp重新认证一ơ,达不到SSO的效果?br />
如何取得当前的User信息

原本都习惯在login以后Q把一些login用户信息攑ֈsession里面? 现在认证都交lcontainerd了,我们的webapp怎么拿到login用户信息啊? 实Q现在我们的webapp能做的,只有从request里面拿到login用户的userid了?br />
String userid = request.gerRemoteUser();

以上是在一个Tomcat Container上的SSO实现.

如果是不同的Container上的webapp要做SSOQ这U时候一U可行的Ҏ是,最前面架一个webserverQ比如apacheQ,在webserverq层承担SSO的认证Q务,后面内部可用挂多个container? 具体都用到的时候再调查吧?

koradji 2010-12-02 13:06 发表评论
]]>
Tomcat6下配|MySQL DBCPhttp://www.aygfsteel.com/koradji/articles/339518.htmlkoradjikoradjiThu, 02 Dec 2010 04:16:00 GMThttp://www.aygfsteel.com/koradji/articles/339518.htmlhttp://www.aygfsteel.com/koradji/comments/339518.htmlhttp://www.aygfsteel.com/koradji/articles/339518.html#Feedback0http://www.aygfsteel.com/koradji/comments/commentRss/339518.htmlhttp://www.aygfsteel.com/koradji/services/trackbacks/339518.htmlTomcat User Guide - 9QJDBC DataSources中MySQL DBCP Example的介l在本机试验q过?br /> 目标环境Q?br />
Windows XP ProfessionalTomcat 6.0.29
MySQL 5.1.50
MySQL Connector/J 5.1.13

步骤Q?br /> 1.下蝲JDBC驱动Q?a >http://dev.mysql.com/downloads/connector/j/Q?br /> 2.解压~后Q将mysql-connector-java-5.1.13-bin.jar拯到Tomcat_Home/lib下;
3.dMySqlQ执行下列语句:
      mysql> GRANT ALL PRIVILEGES ON *.* TO javauser@localhost
          -> IDENTIFIED BY 'javadude' WITH GRANT OPTION;
      mysql> create database javatest;
      mysql> use javatest;
      mysql> create table testdata (
          -> id int not null auto_increment primary key,
          -> foo varchar(25),
          -> bar int);

      注意Q执行完试后要删除上述user-javauserQؓ了安全吧?br /> 4.往testdata表里插入一些测试数据;
      mysql> insert into testdata values(null, 'hello', 12345);
5.Context配置Q?br />   在server.xml里的Host元素下,d如下Context子元?br />         <Context path="/DBTest" docBase="DBTest" debug="5" reloadable="true" crossContext="true">
            <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
                    maxActive="100" maxIdle="30" maxWait="10000"
                    username="javauser" password="javadude" driverClassName="com.mysql.jdbc.Driver"
                    url="jdbc:mysql://localhost:3306/javatest"/>
        </Context>
6.现在在webapps下创建子目录DBTestQ再在DBTest下创建子目录WEB-INFQ在q下面创建文件web.xmlQ如?br /> <?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">
  <description>MySQL Test App</description>
  <resource-ref>
      <description>DB Connection</description>
      <res-ref-name>jdbc/TestDB</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
  </resource-ref>
</web-app>
7.创徏单的test.jsp做测试用Q放在DBTest目录下;
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<sql:query var="rs" dataSource="jdbc/TestDB">
select id, foo, bar from testdata
</sql:query>

<html>
  <head>
    <title>DB Test</title>
  </head>
  <body>

  <h2>Results</h2>
 
<c:forEach var="row" items="${rs.rows}">
    Foo ${row.foo}<br/>
    Bar ${row.bar}<br/>
</c:forEach>

  </body>
</html>
8.因ؓjsp里用CJSTL的sql和coreq两个taglibsQ所以还要去下蝲对应的两个jar文gQ?br /> 下蝲地址Q?a >http://jakarta.apache.org/site/downloads/downloads_taglibs-standard.cgi
9.下蝲完毕解压~后Q将jstl.jar和standard.jar拯到Tomcat_Home/lib下;
10.最后,应用E序部v到Tomcat上后Q启动TomcatQ在览器里输入Q?br /> http://localhost:8080/DBTest/test.jsp
执行Q结果如下:

Results

Foo hello
Bar 12345

q样便完成了在Tomcat下连接MySQL DBCP的过E?br />

koradji 2010-12-02 12:16 发表评论
]]>
Tomcat配置基础验证http://www.aygfsteel.com/koradji/articles/339500.htmlkoradjikoradjiWed, 01 Dec 2010 06:35:00 GMThttp://www.aygfsteel.com/koradji/articles/339500.htmlhttp://www.aygfsteel.com/koradji/comments/339500.htmlhttp://www.aygfsteel.com/koradji/articles/339500.html#Feedback0http://www.aygfsteel.com/koradji/comments/commentRss/339500.htmlhttp://www.aygfsteel.com/koradji/services/trackbacks/339500.html容器理验证Ҏ控制着当用戯问受保护的web应用时如何进行用Lw䆾鉴别?br /> 可以使用Basic Authentication验证来访问受保护的web应用Q具体实施方法ؓQ?br /> 在web应用的web.xml文g中,d如下元素:
<security-constraint>
<login-config>
然后在conf/tomcat-users.xml里,d适当?lt;role>?lt;user>Q最后重新启动Tomcat卛_?br />
例子Q?br />   <!-- Define a Security Constraint on this Application -->
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>HTMLManager and Manager command</web-resource-name>
      <url-pattern>/jmxproxy/*</url-pattern>
      <url-pattern>/html/*</url-pattern>
      <url-pattern>/list</url-pattern>
      <url-pattern>/expire</url-pattern>
      <url-pattern>/sessions</url-pattern>
      <url-pattern>/start</url-pattern>
      <url-pattern>/stop</url-pattern>
      <url-pattern>/install</url-pattern>
      <url-pattern>/remove</url-pattern>
      <url-pattern>/deploy</url-pattern>
      <url-pattern>/undeploy</url-pattern>
      <url-pattern>/reload</url-pattern>
      <url-pattern>/save</url-pattern>
      <url-pattern>/serverinfo</url-pattern>
      <url-pattern>/status/*</url-pattern>
      <url-pattern>/roles</url-pattern>
      <url-pattern>/resources</url-pattern>
      <url-pattern>/findleaks</url-pattern>
    </web-resource-collection>
    <auth-constraint>
       <!-- NOTE:  This role is not present in the default users file -->
       <role-name>manager</role-name>
    </auth-constraint>
  </security-constraint>

  <!-- Define the Login Configuration for this Application -->
  <login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>Tomcat Manager Application</realm-name>
  </login-config>




koradji 2010-12-01 14:35 发表评论
]]>
վ֩ģ壺 ϸ| | | | | ʲ| | ˮ| | ÷| Զ| | ·| Т| | | | | Ĭ| Ϊ| ̫| | Ǩ| | ֳ| | Դ| ɽ| ຣʡ| | | ɽ| ۶| ͨ| ̽| կ| | ͨ| | | ;|