resin的web.xml两个小应用
这两个玩意比较常用,整理一下。
- 个性化JSP扩展名
虽然从Google或者是Baidu能够搜到一大坨的关于个性化JSP扩展名的设置,但是几乎没有可用的,:),天下文章一大抄,这就是中国互联网的现状。<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>com.caucho.jsp.JspServlet</servlet-class>
<init-param>
<param-name>param1</param-name>
<param-value>value1</param-value>
</init-param>
<load-on-startup>-2147483646</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.simplelife</url-pattern>
</servlet-mapping>这个配置的意思就是,用jsp引擎来执行*.simplelife这样的扩展名的文件,于是*.simplelife就相当于*.jsp了。
- 使用resin来管理权限
前几天配置trac,一个简单高效的项目管理系统,这个系统的用户认证并没有自己开发,而是基于Apache的认证的,这种精神是我常常缺失的,为了系统的所谓的完整性,总在开发一些重复的组件。尤其是在一个内部使用的系统中,这种权限认证真的是方便高效。<security-constraint>
<web-resource-collection>
<web-resource-name>Protected Context</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint role-name='simplelifeAdmin'/>
</security-constraint><authenticator type="com.caucho.server.security.XmlAuthenticator">
<init>
<user name='admin' password='54admin' roles='simplelifeAdmin'/>
<user name='simplelife' password='simplelife.cn' roles='user'/>
<password-digest>none</password-digest>
</init>
</authenticator>配置分成两部分,下面authenticator的的意思是:
- 用户名"admin",密码是"54admin",角色是"simplelifeAdmin";
- 用户名"simplelife",密码是"simplelife.cn",角色是"user";
- 密码是没有经过加密的,也就是明文的上面的security-constraint,的意思是:
- 对这样的URL"/*",角色simplelifeAdmin拥有访问权限
同理可以配置,角色是"user"的用户,拥有什么样的访问权限,只要增加一个security-constraint节点就可以了。