<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    dihin

    2006年7月24日 #

    cas實現(xiàn)sso注意的2個問題

    弄了一下午的cas安裝終于成功了,,現(xiàn)在將步驟敘述一下
    下載
    ????????
    cas-server-3.0.4.zip??????????????
    http://www.ja-sig.org/downloads/cas/cas-server-3.0.4.zip


    cas-client-2.0.11.zip? http://www.ja-sig.org/downloads/cas-clients/cas-client-2.0.11.zip

    環(huán)境為 winxp? tomcat5.5.17? jdk1.5.0_05
    1. 生成服務(wù)端證書
    keytool -genkey -alias casserver -keyalg RSA -keystore tomcat.jks
    CN:localhost
    其他的隨便??
    這里要注意姓名必須是服務(wù)器的域名 由于我是在本機(jī)所以是localhost
    如果不這樣寫就會報如下異常:
    java.io.IOException: HTTPS hostname wrong:? should be <localhost>

    這個異常出現(xiàn)在創(chuàng)建證書的第一個問題 姓名。其實這個“姓名”應(yīng)該是域名。比如說localhost或是blogjava.net之類的。輸成了姓名,和真正運行的時候域名不符,就會出錯。瀏覽器無所謂,彈出一個對話框,用戶按一下就行了。但http client就直接拋出了異常。--google出來的

    2. 導(dǎo)出證書
    keytool -export -file cas.cer -alias?tomcat -keystore tomcat.jks

    3.把導(dǎo)出的證書導(dǎo)入到j(luò)re/lib/security的cacerts中
    這里又有一點要注意的?? 可能由于我的jre在線升級過一次 現(xiàn)在的工作的jre目錄在C:\Program Files\Java\jre1.5.0_06\ 所以要把證書導(dǎo)入到C:\Program Files\Java\jre1.5.0_06\lib\security的cacerts中去
    我一開始就是因為 導(dǎo)入到了%JAVA_HOME%的jre中 結(jié)果弄了半天都不成功報異常如下:
    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

    4.配置tomcat使用ssl
    <Connector port="8443" maxHttpHeaderSize="8192"
    ?????????????? maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    ?????????????? enableLookups="false" disableUploadTimeout="true"
    ?????????????? acceptCount="100" scheme="https" secure="true"
    ?????????????? clientAuth="false"http://單向SSL
    ?????????????? keystoreFile="C:\tomcat.jks" //我生成的keystore存放在c盤
    ?????????????? sslProtocol="TLS" />

    5.
    部署CAS應(yīng)用
    ?
    解壓 cas-server-3.0.4.zip, 提取 \target\cas.war 文件,將 cas.war 文件復(fù)制到 TOMCAT 的安裝路徑 webapps 下,啟動 TOMCAT ,檢查 CAS
    應(yīng)用是否正常啟動。

    6.客戶端配置
    下載cas-client-2.0.11.zip

    java/lib/casclient.jar考到 你所發(fā)布的webapp的WEB-INF/lib下
    修改WEB-INF/web.xml 在里面添加過濾器
    ??? <filter>
    ??????? <filter-name>CASFilter</filter-name>
    ??????? <filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
    ??????? <init-param>
    ?????????? <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
    ?????????? <param-value>https://localhost:8443/cas/login</param-value>
    ??????? </init-param>
    ??????? <init-param>
    ?????????? <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
    ?????????? <param-value>https://localhost:8443/cas/proxyValidate</param-value>
    ??????? </init-param>
    ??????? <init-param>
    ????????? <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
    ????????? <param-value>localhost:8443</param-value>
    ??????? </init-param>
    ??? </filter>
    ???
    ??? <filter-mapping>
    ??????? <filter-name>CASFilter</filter-name>
    ??????? <url-pattern>/*</url-pattern>
    ??? </filter-mapping>

    把里面的localhost換成域名
    8443換成你所使用的端口

    接著連接 https://localhost:8443/app1 ?? //app1是你要實現(xiàn)sso的web應(yīng)用
    接著頁面就會跳轉(zhuǎn)到cas的登陸頁面 就像你在第5步看到的頁面一樣
    隨便用一個用戶名登陸 只要 用戶名和密碼一樣就可以登陸
    可以在app2上重復(fù)步驟6 這樣只要在app1上登陸后 再連接app2的url就不用再次登陸了
    這就是單點登陸了。

    ?其實是一個很簡單的事情 但是過程中要注意 步驟1和3

    ?

    ?

    ?

    ?


    posted @ 2006-07-24 17:50 狒狒 閱讀(4219) | 評論 (3)編輯 收藏

    2006年6月25日 #

    hibernate操作mysql的blob數(shù)據(jù)

    package hibernate;

    import java.sql.Blob;

    public class Blobtest  implements java.io.Serializable {

         
    private long id;
         
    private Blob image;

        
    public Blobtest() {
        }


        
    public Blobtest(Blob image) {
            
    this.image = image;
        }


        
    public long getId() {
            
    return this.id;
        }

        
        
    public void setId(long id) {
            
    this.id = id;
        }


        
    public Blob getImage() {
            
    return this.image;
        }

        
        
    public void setImage(Blob image) {
            
    this.image = image;
        }

    }
     測試寫入數(shù)據(jù):
    package hibernate;

    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;

    import org.hibernate.Hibernate;
    import org.hibernate.Session;
    import org.hibernate.Transaction;

    public class Test {
        
    public static void main(String[] args) throws IOException {
            InputStream in 
    = new FileInputStream("F:/lzx.jpg");        
            
    byte[] b = new byte[in.available()];
            in.read(b);
            in.close();
            Blobtest blobTest
    =new Blobtest();

            blobTest.setImage(Hibernate.createBlob(b));
            Session session
    =HibernateUtil.currentSession();
            Transaction tx
    =session.beginTransaction(); 
            session.save(blobTest); 
            tx.commit(); 
            System.out.print(
    "success"); 
            HibernateUtil.closeSession();
        }

    }

    讀出數(shù)據(jù):
    package hibernate;

    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.sql.SQLException;

    import org.hibernate.Session;
    import org.hibernate.Transaction;

    public class TestWrite {
        
    public static void main(String[] args) throws IOException, SQLException {
            Session session
    =HibernateUtil.currentSession();
            Transaction tx
    =session.beginTransaction();
            Blobtest blobTest 
    = new Blobtest();
            blobTest 
    = (Blobtest) session.get(Blobtest.classnew Long(1));
            System.out.println(
    "qu chu shu ju");
            OutputStream out 
    = new FileOutputStream("F:/111.jpg");
            out.write(blobTest.getImage().getBytes(
    1,(int) blobTest.getImage().length()));
            out.flush();
            out.close();
            HibernateUtil.closeSession();
        }

    }

    posted @ 2006-06-25 02:00 狒狒 閱讀(3213) | 評論 (1)編輯 收藏

    僅列出標(biāo)題  

    My Links

    Blog Stats

    常用鏈接

    留言簿(1)

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产国产成年年人免费看片| 亚洲AV人人澡人人爽人人夜夜| 女人18特级一级毛片免费视频| 日本特黄特色免费大片| 亚洲午夜国产片在线观看| 美女视频黄a视频全免费网站一区| 日本中文字幕免费高清视频| 永久亚洲成a人片777777| 国产一二三四区乱码免费| 性做久久久久久久免费看| 亚洲人成网站18禁止久久影院 | 在线观看日本亚洲一区| 成年免费大片黄在线观看岛国| 亚洲三级视频在线观看| 黄桃AV无码免费一区二区三区| 国产亚洲无线码一区二区| 亚洲AV无码AV日韩AV网站| 国产三级电影免费观看| 在线播放免费人成视频网站| 99视频全部免费精品全部四虎| 亚洲ts人妖网站| 四虎免费久久影院| 久久久WWW免费人成精品| 国产精品麻豆免费版| 人妻巨大乳hd免费看| 国产亚洲精品一品区99热| 5g影院5g天天爽永久免费影院| 亚洲午夜久久久久妓女影院| 免费日本一区二区| 久久精品国产亚洲一区二区三区 | 69av免费观看| 国产99在线|亚洲| 1000部啪啪毛片免费看| 亚洲熟妇无码一区二区三区导航| 亚洲AV蜜桃永久无码精品| 亚洲乱人伦中文字幕无码| 99久久国产热无码精品免费| 成人婷婷网色偷偷亚洲男人的天堂| 国产AⅤ无码专区亚洲AV| 国色精品卡一卡2卡3卡4卡免费| 免费激情网站国产高清第一页|