1. 程式人生 > >【原創】關於weblogic的classpath、weblogic.xml和JASS設定

【原創】關於weblogic的classpath、weblogic.xml和JASS設定

關於weblogic的classpath、weblogic.xml和JASS設定

自己最近剛剛調到了公司的訪問安全小組,接入公司的賬戶管理系統,以前的專案都是使用的是TOMCAT,現在需要配置weblogic的相關專案,接入的時候遇見了許多坑,主要是classpath、JAAS、weblogic.xml。現在總結一下,有相關需要的朋友可以避免走彎路~

1,設定CLASSPATH

在初次接入weblogic的時候,有些時候接入了一些中介軟體後,需要載入一些相關資源來初始化容器和專案。這時候,就需要把相關的資源設定到CLASSPATH當中去了。

1,在startweblogic.cmd
當中,找到SETCLASSPATH的相關配置,按照規則新增。 2,如果是jar檔案,需要新增完整的路徑和jar名稱。 3,如果是資原始檔,只需要寫出相關的路徑名稱就是,不需要完整的檔名稱。

2,使用JASS

在登陸的時候,使用到了JASS,這個是基於JAVA的容器認證。方便簡單,很大程度上節約了登陸模組的複雜性。其配置如下,其中選擇了FORM模式,還有簡單的BASE模式。且FORM必須要滿足以下的命名規則:

<form method="POST" action="j_security_check">  
      姓名:<input type="text" name="j_username"
/><br/> 密碼:<input type="password" name="j_password"/><br/> <input type="submit" value="登入"/> </form>

然後在web.xml檔案當中的配置如下:

 <!--登入的相關配置 -->
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list
>
<login-config> <auth-method>FORM</auth-method> <realm-name>myrealm</realm-name> <form-login-config> <form-login-page>/login.jsp</form-login-page> <form-error-page>/error.jsp</form-error-page> </form-login-config> </login-config> <security-constraint> <web-resource-collection> <web-resource-name>protect</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>users</role-name> </auth-constraint> </security-constraint> <security-role> <role-name>users</role-name> </security-role> <error-page> <error-code>403</error-code> <location>/403.jsp</location> </error-page> <security-constraint> <web-resource-collection> <web-resource-name>exclude</web-resource-name> <url-pattern>/umlogin/*</url-pattern> <url-pattern>/login.jsp</url-pattern> <http-method>GET</http-method> <http-method>POST</http-method> </web-resource-collection> </security-constraint>

3,新增weblogic.xml

按照上面的成功部署後,啟動APP,但是進行登陸的時候,始終都無法獲取許可權,進行相關資源的訪問,一直報weiblogic 403的錯誤,為什麼呢?需要以下兩個說明:
1,上面web.xml中提及的auth-constraint、security-role、role-name、users都是指的容器相關的角色,而並不是系統的角色。
2,所以需要在web專案中新增一個名字為weblogic.xml的檔案,其配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">

<weblogic-web-app>

    <security-role-assignment>
        <role-name>users</role-name>
        <principal-name>users</principal-name>
    </security-role-assignment>

    <jsp-descriptor>
        <jsp-param>
            <param-name>encoding</param-name>
            <param-value>GBK</param-value>
        </jsp-param>
        <jsp-param>
            <param-name>printNulls</param-name>
            <param-value>false</param-value>
        </jsp-param>
        <jsp-param>
            <param-name>keepgenerated</param-name>
            <param-value>true</param-value>
        </jsp-param>
        <jsp-param>
            <param-name>debug</param-name>
            <param-value>true</param-value>
        </jsp-param>
    </jsp-descriptor>
</weblogic-web-app>

上面就是我遇到的坑,總結一下,避免再跳進去,不過,這種東西,自己搞一遍,很難再忘記了~